`like`子句并不能得到所有接近我所说的结果
`like` clause does not fetch all the results that near to my word
like
子句不想获取所有接近单词的结果,我必须写完整的句子才能获得,例如:
我在数据库中有以下数据:
Lion king
lionheart
level completed
good morning
我想获取Lion king
,当我写单词lion
的这一部分时,通常它必须获取Lion king
和lionheart
,但在我的情况下,它什么都不获取,除非必须写完整的句子来获取数据。
我尝试使用以下查询:
-
SELECT * FROM table WHERE name LIKE '%text'
-
SELECT * FROM contacts WHERE name LIKE '%text' OR name LIKE 'text%' OR name LIKE '%text%' OR name LIKE text
注意:
我使用C++ Qt
框架,下面是我做的内容
qry.prepare("SELECT * FROM table WHERE name LIKE '%:text'");
qry.bindValue(":text", ui->searchBox_txt->text());
qry.exec();
如何进行查询以进行正常行为
:text
是名称为text
的查询参数
':text'
是字符串":text"
类似地,"%:text"
正是它的本质;您的参数未被解析,因为它位于字符串内部。
您需要使用连接运算符(||
)将中的参数与'%'
连接起来:
SELECT * FROM table WHERE name LIKE '%' || :text || '%'
删除%
之后的:
。类似这样的东西:
SELECT * FROM table WHERE name LIKE '%text%'
还请注意,该值区分大小写
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- valgrind-hellgrind与泄漏检查的结果不同
- 用C++20 fmt限制结果的总大小
- 如何返回一个类的两个对象相加的结果
- 查找最接近的大于当前数字的数字的索引
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 序列化,没有库的整数,得到奇怪的结果
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 在更改for循环的第三部分后,未使用for循环结果
- 使用++运算符会导致意外的结果
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- C++Brute Force攻击函数不会返回结果
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 算术运算的结果类似于:C浮点变量中的1/3
- ";结果类型必须是可从输入范围的值类型""构造的;创建std::vector时
- 密码登录程序将永远循环并显示不正确的结果
- 如何让C++'tally up'结果并制定计划?
- `like`子句并不能得到所有接近我所说的结果