HSQLDB - предложение LIKE
В структуре СУБД есть предложение WHERE. Вы можете использовать предложение WHERE со знаком равенства (=) там, где мы хотим получить точное соответствие. Но может быть требование, когда мы хотим отфильтровать все результаты, в которых имя автора должно содержать «john». Это можно сделать с помощью предложения SQL LIKE вместе с предложением WHERE.
Если предложение SQL LIKE используется вместе с символами%, тогда оно будет работать как метасимвол (*) в UNIX при выводе всех файлов или каталогов в командной строке.
Синтаксис
Ниже приводится общий синтаксис SQL предложения LIKE.
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 можно использовать вместе с SQL-командой DELETE или UPDATE, чтобы указать условие.
пример
Давайте рассмотрим пример, который извлекает список данных учебных пособий, где имя автора начинается с 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