HSQLDB - LIKE-Klausel

In der RDBMS-Struktur gibt es eine WHERE-Klausel. Sie können die WHERE-Klausel mit einem Gleichheitszeichen (=) verwenden, um eine genaue Übereinstimmung zu erzielen. Möglicherweise müssen wir jedoch alle Ergebnisse herausfiltern, bei denen der Autorenname "john" enthalten soll. Dies kann mit der SQL LIKE-Klausel zusammen mit der WHERE-Klausel behandelt werden.

Wenn die SQL LIKE-Klausel zusammen mit% -Zeichen verwendet wird, funktioniert sie unter UNIX wie ein Metazeichen (*), während alle Dateien oder Verzeichnisse an der Eingabeaufforderung aufgelistet werden.

Syntax

Es folgt die generische SQL-Syntax der LIKE-Klausel.

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Sie können jede Bedingung mit der WHERE-Klausel angeben.

  • Sie können die LIKE-Klausel zusammen mit der WHERE-Klausel verwenden.

  • Sie können die LIKE-Klausel anstelle des Gleichheitszeichens verwenden.

  • Wenn die LIKE-Klausel zusammen mit dem% -Zeichen verwendet wird, funktioniert sie wie eine Metazeichen-Suche.

  • Sie können mehr als eine Bedingung mit UND- oder ODER-Operatoren angeben.

  • Eine WHERE ... LIKE-Klausel kann zusammen mit dem Befehl DELETE oder UPDATE SQL verwendet werden, um eine Bedingung anzugeben.

Beispiel

Betrachten wir ein Beispiel, das die Liste der Tutorials abruft, mit denen der Autorenname beginnt John. Es folgt die HSQLDB-Abfrage für das angegebene Beispiel.

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

Nach Ausführung der obigen Abfrage erhalten Sie die folgende Ausgabe.

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

HSQLDB - JDBC-Programm

Das folgende JDBC-Programm ruft die Liste der Tutorials ab, mit denen der Autorenname beginnt John. Speichern Sie den Code inLikeClause.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);
      }
   }
}

Sie können die Datenbank mit dem folgenden Befehl starten.

\>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

Kompilieren Sie den obigen Code und führen Sie ihn mit dem folgenden Befehl aus.

\>javac LikeClause.java
\>java LikeClause

Nach Ausführung des folgenden Befehls erhalten Sie die folgende Ausgabe.

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