Hsqldb-like-clause

提供:Dev Guides
移動先:案内検索

HSQLDB-LIKE句

RDBMS構造にはWHERE句があります。 完全一致を行うには、等号(=)を指定したWHERE句を使用できます。 ただし、著者名に「john」を含める必要があるすべての結果を除外する必要がある場合があります。 これは、WHERE句とともにSQL LIKE句を使用して処理できます。

SQLのLIKE句を%文字と一緒に使用すると、UNIXのメタキャラクター(*)のように機能しますが、コマンドプロンプトですべてのファイルまたはディレクトリをリストします。

構文

LIKE句の一般的なSQL構文は次のとおりです。

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • WHERE句を使用して、任意の条件を指定できます。
  • WHERE句とともにLIKE句を使用できます。
  • 等号の代わりにLIKE句を使用できます。
  • LIKE句を%記号と共に使用すると、メタキャラクター検索のように機能します。
  • ANDまたはOR演算子を使用して、複数の条件を指定できます。
  • WHERE …​ LIKE句をDELETEまたはUPDATE SQLコマンドとともに使用して、条件を指定できます。

著者名が John で始まるチュートリアルデータのリストを取得する例を考えてみましょう。 以下は、指定された例のHSQLDBクエリです。

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

上記のクエリを実行すると、次の出力が表示されます。

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

HSQLDB – JDBCプログラム

以下は、著者名が John で始まるチュートリアルデータのリストを取得するJDBCプログラムです。 コードを LikeClause.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);
      }
   }
}

次のコマンドを使用して、データベースを起動できます。

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

次のコマンドを使用して、上記のコードをコンパイルおよび実行します。

\>javac LikeClause.java
\>java LikeClause

次のコマンドを実行すると、次の出力が表示されます。

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