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程序

以下是检索列表的JDBC程序教程数据的作者名称以 John 开头.将代码保存到 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