【发布时间】:2020-11-25 21:53:50
【问题描述】:
如何检查Sqlite中的String是否包含数字?该字符串是逗号分隔的正数,不以 0 开头。我需要检查它是否包含其他数字?
前
- 是
5在1,2,1-> 否 - 是
5在35, 55, 15-> 否 - 是
5在5-> 是 - 是
5在0,5,1-> 是
P.S
逗号分隔的数字是 Android MMS Api,不是我能控制的。
【问题讨论】:
如何检查Sqlite中的String是否包含数字?该字符串是逗号分隔的正数,不以 0 开头。我需要检查它是否包含其他数字?
前
5 在1,2,1 -> 否5 在35, 55, 15 -> 否5 在5 -> 是5 在0,5,1 -> 是P.S
逗号分隔的数字是 Android MMS Api,不是我能控制的。
【问题讨论】:
这是使用字符串函数的一种选择:
',' || mycsv || ',' like '%,' || myval || ',%' as found
mycsv 代表您的逗号分隔字符串,myval 是您要查找的值。
这将返回一个 0 / 1 值,指示该值是否存在于 CSV 字符串中。您可以在您喜欢的查询的where 子句中使用它。
with t as (
select '1,2,1' as mycsv, 5 as myval
union all select '35,55,15', 5
union all select '5', 5
union all select '0,5,1', 5
)
select t.*, ',' || mycsv || ',' like '%,' || myval || ',%' as found
from t
我的csv |迈瓦尔 |成立
:------- | ----: | ----:
1,2,1 | 5 | 0
35,55,15 | 5 | 0
5 | 5 | 1
0,5,1 | 5 | 1
【讨论】: