查询以检查我们是否有任何以输入字符串开头的行
Query to check if we have any row which start with input String
让我们说有值的列
"Html", "Java", "JQuery", "Sqlite"
如果用户输入
"Java is my favorite programming language"
那么结果应该是
1 row selected with value "Java"
因为输入的句子以"Java"开头
但是如果用户输入
"My application database is in Sqlite"
那么查询应该 return 为空。
0 row selected
因为输入的句子不是以"Sqlite"开头的。
我正在尝试以下查询:
SELECT * FROM demo where 'Java' like demo.name; // work
但如果输入长文本则失败
SELECT * FROM demo where 'Java is my favorite programming language' like demo.name; // Fails
只需将列名放在 like
运算符的左侧,并在字符串关键字的右侧连接一个通配符:
select * from demo where name like 'Java%' ; -- or like 'Sqlite%' etc
您可以使其更通用,例如:
select * from demo where name like ? || %' ;
其中 ?
是一个绑定参数,表示用户提供的值(您也可以在传递参数之前在您的应用程序中连接通配符)。
我想你想要这样的东西:
SELECT * FROM demo WHERE yourText LIKE demo.name || '%' ;
您可以这样查询
Select * from SearchPojo where name GLOB '*' || :namestring|| '*'"
不确定我是否遇到问题但是...
你可以查询这些值(Html、Java、JQuery、Sqlite)把它们放在一个集合中,比如List,然后抓取用户的输入并检查它:
List<String> values ... // Html, Java, JQuery, Sqlite
for (String value : values) {
if (userInput.contains(value) {
// print
System.out.println("1 row selected with value \"Java\");
}
}
它支持用户输入多个选项的情况。
用通配符连接您的列:
SELECT * FROM demo where 'Java is my favorite programming language' like demo.name || '%';
让我们说有值的列
"Html", "Java", "JQuery", "Sqlite"
如果用户输入
"Java is my favorite programming language"
那么结果应该是
1 row selected with value "Java"
因为输入的句子以"Java"开头
但是如果用户输入
"My application database is in Sqlite"
那么查询应该 return 为空。
0 row selected
因为输入的句子不是以"Sqlite"开头的。
我正在尝试以下查询:
SELECT * FROM demo where 'Java' like demo.name; // work
但如果输入长文本则失败
SELECT * FROM demo where 'Java is my favorite programming language' like demo.name; // Fails
只需将列名放在 like
运算符的左侧,并在字符串关键字的右侧连接一个通配符:
select * from demo where name like 'Java%' ; -- or like 'Sqlite%' etc
您可以使其更通用,例如:
select * from demo where name like ? || %' ;
其中 ?
是一个绑定参数,表示用户提供的值(您也可以在传递参数之前在您的应用程序中连接通配符)。
我想你想要这样的东西:
SELECT * FROM demo WHERE yourText LIKE demo.name || '%' ;
您可以这样查询
Select * from SearchPojo where name GLOB '*' || :namestring|| '*'"
不确定我是否遇到问题但是...
你可以查询这些值(Html、Java、JQuery、Sqlite)把它们放在一个集合中,比如List,然后抓取用户的输入并检查它:
List<String> values ... // Html, Java, JQuery, Sqlite
for (String value : values) {
if (userInput.contains(value) {
// print
System.out.println("1 row selected with value \"Java\");
}
}
它支持用户输入多个选项的情况。
用通配符连接您的列:
SELECT * FROM demo where 'Java is my favorite programming language' like demo.name || '%';