HSQLDB - LIKE 子句



在 RDBMS 結構中有一個 WHERE 子句。您可以將 WHERE 子句與等於號(=)一起使用,在我們需要進行精確匹配的地方。但是,可能存在需要篩選所有作者姓名應包含“john”的結果的情況。這可以使用 SQL LIKE 子句以及 WHERE 子句來處理。

如果 SQL LIKE 子句與 % 字元一起使用,則它在列出命令提示符下所有檔案或目錄時將類似於 UNIX 中的元字元(*)。

語法

以下是 LIKE 子句的通用 SQL 語法。

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • 您可以使用 WHERE 子句指定任何條件。

  • 您可以將 LIKE 子句與 WHERE 子句一起使用。

  • 您可以使用 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:///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
廣告