COLLATE Latin1_General_CS_AS
n'est pas une chose de syntaxe oracle, cela ressemble à une chose de serveur sql
votre sql de base pourrait être :
ResultSet rs = statement.executeQuery("SELECT NAMES, AUTHOR, ID FROM BOOKS WHERE upper(NAMES) LIKE upper('%"+word+"%') OR upper(AUTHOR) LIKE upper('%"+word+"%') ");
mais il s'agit d'une analyse complète de la table/de l'index complet, donc ce ne sera pas rapide. pour les recherches rapides de chaînes, Oracle a texte oracle . Je vous suggère de lire cela et d'implémenter un index de texte si vous avez besoin de faire ce type de recherches illimitées (sur de grandes tables).