Sql 查询以检查是否有以输入字符串开头的行
让我们假设have列具有值 Html、Java、JQuery、Sqlite 如果用户输入 Java是我最喜欢的编程语言 那么结果应该是 选择值为Java的1行 因为输入的句子以Java开头 但如果用户输入 我的应用程序数据库在Sqlite中 然后查询应该返回空 已选择0行 因为输入的句子不以Sqlite开头 我正在尝试以下查询:Sql 查询以检查是否有以输入字符串开头的行,sql,string,sqlite,where-clause,sql-like,Sql,String,Sqlite,Where Clause,Sql Like,让我们假设have列具有值 Html、Java、JQuery、Sqlite 如果用户输入 Java是我最喜欢的编程语言 那么结果应该是 选择值为Java的1行 因为输入的句子以Java开头 但如果用户输入 我的应用程序数据库在Sqlite中 然后查询应该返回空 已选择0行 因为输入的句子不以Sqlite开头 我正在尝试以下查询: SELECT * FROM demo where 'Java' like demo.name; // work 但如果输入长文本,则失败 SELECT * FROM
SELECT * FROM demo where 'Java' like demo.name; // work
但如果输入长文本,则失败
SELECT * FROM demo where 'Java is my favorite programming language' like demo.name; // Fails
只需将列名放在like运算符的左侧,并在字符串keywork的右侧连接一个通配符:
select * from demo where name like 'Java%' ; -- or like 'Sqlite%' etc
您可以使其更通用,如:
select * from demo where name like ? || %' ;
在哪里?是一个绑定参数,表示用户提供的值。在传递该参数之前,您还可以在应用程序中与通配符连接。只需将列名放在like运算符的左侧,并在字符串keywork的右侧连接通配符:
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 demo WHERE yourText LIKE demo.name || '%' ;
您可以这样进行查询
您可以这样进行查询
不确定我是否有问题,但是 您可以查询这些值Html、Java、JQuery、Sqlite,将它们放入一个集合中,如列表,然后获取用户的输入并进行检查:
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\");
}
}
它支持用户键入多个选项的情况。不确定我是否遇到问题,但 您可以查询这些值Html、Java、JQuery、Sqlite,将它们放入一个集合中,如列表,然后获取用户的输入并进行检查:
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 || '%';
使用通配符连接列:
SELECT * FROM demo where 'Java is my favorite programming language' like demo.name || '%';
我无法控制用户将要输入的内容。我怎么知道用户是否输入了JavaI?我无法控制用户将要输入的内容。我怎么知道用户是否输入了JavaYou应该用| |替换+来连接字符串。@厄立特里亚人谢谢我以为+会连接字符串您应该用| |替换+来连接字符串。@厄立特里亚人谢谢我以为+会连接字符串