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

有没有办法匹配查询,例如,我想通过查询根据规则(表名)搜索我的号码。我想匹配以规则开头的数字.........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 ||'%';


DIEA
浏览 191回答 1
1回答

烙印99

您需要使用运算符 。您已经使用MySQL和SQLite标记了您的问题。对于 MySQL:LIKESELECT * FROM demo where '33322323' like concat(rules, '%');对于 SQLite:SELECT * FROM demo where '33322323' like rules || '%';上面的代码将返回列值是 的起始字符的所有行。rules33322323
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java