为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过查询 sqlite 匹配数字“开头为”

如何通过查询 sqlite 匹配数字“开头为”

DIEA 2022-08-17 15:38:44
有没有办法匹配查询,例如,我想通过查询根据规则(表名)搜索我的号码。我想匹配以规则开头的数字.........1)3322323"333"这是我的查询SELECT * FROM demo where rules like '33322323'; 我希望上面的查询返回 true。因为它与我的规则相匹配。下面是我的表格。  id    | rules...............    1    |  333   2    |  22   3    |  442我有样本数据 1) 33331235, 2) 2354545 3) 4424545454 4) 22343434案例1(匹配数据1)33331235)假设我想用我的规则表检查我的33331235,以便我的样本数据与我的第1行是333,因为我的数据以333开头.....它应该返回 true,因为它匹配。案例 2(匹配数据 2)2354545)假设我想用我的规则表检查我的2354545,这样我的样本数据就与我的不匹配任何行,因为我没有规则适用于它.....它应该返回 true,因为它匹配。案例3(匹配数据1)4424545454)假设我想用我的规则表检查我的4424545454,以便我的样本数据与我的行 1 是 442,因为我的数据以 442 开头.....它应该返回 true,因为它匹配。解决。我在Forpas的帮助下解决了这个问题,我用这个查询来匹配数字开头SELECT * FROM demo where '333434334 like rules ||'%';使用此查询时字符串末尾的数字。SELECT * FROM demo where '333434334' like '%' || rules;字符串中任意位置的数字,然后我使用此查询。SELECT * FROM demo where '333434334' like '%' || rules ||'%';
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

您需要使用运算符 。
您已经使用MySQLSQLite标记了您的问题。
对于 MySQLLIKE

SELECT * FROM demo where '33322323' like concat(rules, '%');

对于 SQLite

SELECT * FROM demo where '33322323' like rules || '%';

上面的代码将返回列值是 的起始字符的所有行。rules33322323


查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信