HSQLDB - Cláusula LIKE

Hay una cláusula WHERE en la estructura RDBMS. Puede usar la cláusula WHERE con un signo igual a (=) donde queremos hacer una coincidencia exacta. Pero puede haber un requisito donde queramos filtrar todos los resultados donde el nombre del autor debe contener "john". Esto se puede manejar usando la cláusula SQL LIKE junto con la cláusula WHERE.

Si se usa la cláusula SQL LIKE junto con% caracteres, entonces funcionará como un metacarácter (*) en UNIX mientras enumera todos los archivos o directorios en el símbolo del sistema.

Sintaxis

A continuación se muestra la sintaxis SQL genérica de la cláusula LIKE.

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Puede especificar cualquier condición utilizando la cláusula WHERE.

  • Puede utilizar la cláusula LIKE junto con la cláusula WHERE.

  • Puede utilizar la cláusula LIKE en lugar del signo igual.

  • Cuando se usa la cláusula LIKE junto con el signo%, funcionará como una búsqueda de metacaracteres.

  • Puede especificar más de una condición mediante los operadores AND u OR.

  • Se puede utilizar una cláusula WHERE ... LIKE junto con el comando DELETE o UPDATE SQL para especificar una condición.

Ejemplo

Consideremos un ejemplo que recupera la lista de datos de tutoriales donde el nombre del autor comienza con John. A continuación se muestra la consulta HSQLDB para el ejemplo dado.

SELECT * from tutorials_tbl WHERE author LIKE 'John%';

Después de la ejecución de la consulta anterior, recibirá el siguiente resultado.

+-----+----------------+-----------+-----------------+
|  id |      title     |   author  | submission_date |
+-----+----------------+-----------+-----------------+
| 100 |    Learn PHP   | John Poul | 2016-06-20      |
+-----+----------------+-----------+-----------------+

HSQLDB - Programa JDBC

A continuación se muestra el programa JDBC que recupera la lista de datos de tutoriales donde el nombre del autor comienza con John. Guarde el código enLikeClause.java.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class LikeClause {
   
   public static void main(String[] args) {
      Connection con = null;
      Statement stmt = null;
      ResultSet result = null;
      
      try {
         Class.forName("org.hsqldb.jdbc.JDBCDriver");
         con = DriverManager.getConnection(
            "jdbc:hsqldb:hsql://localhost/testdb", "SA", "");
         stmt = con.createStatement();
         result = stmt.executeQuery(
            "SELECT * from tutorials_tbl WHERE author LIKE 'John%';");
         
         while(result.next()){
            System.out.println(result.getInt("id")+" |
               "+result.getString("title")+" |
               "+result.getString("author")+" |
               "+result.getDate("submission_date"));
         }
      } catch (Exception e) {
         e.printStackTrace(System.out);
      }
   }
}

Puede iniciar la base de datos usando el siguiente comando.

\>cd C:\hsqldb-2.3.4\hsqldb
hsqldb>java -classpath lib/hsqldb.jar org.hsqldb.server.Server --database.0
file:hsqldb/demodb --dbname.0 testdb

Compile y ejecute el código anterior usando el siguiente comando.

\>javac LikeClause.java
\>java LikeClause

Después de la ejecución del siguiente comando, recibirá el siguiente resultado.

100 | Learn PHP | John Poul | 2016-06-20