繁体   English   中英

Sqlite 检查逗号分隔的数字字符串是否包含数字

[英]Sqlite check if comma-separated numbers String contains a number

如何检查 Sqlite 中的字符串是否包含数字? 该字符串是逗号分隔的正数,不以 0 开头。我需要检查它是否包含其他数字?

前任

  • 1,2,1中的5 -> 否
  • 35, 55, 15中的5 -> 否
  • 55 -> 是
  • 5中的0,5,1 -> 是

附言
逗号分隔的数字是 Android MMS Api,这不是我能控制的。

这是使用字符串函数的一种选择:

',' || mycsv || ',' like '%,' || myval || ',%' as found

mycsv代表您的逗号分隔字符串,而myval是您要查找的值。

这将返回一个0 / 1值,指示该值是否存在于 CSV 字符串中。 您可以在您喜欢的查询的where子句中使用它。

DB Fiddle 上的演示

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
mycsv    | myval | found
:------- | ----: | ----:
1,2,1    |     5 |     0
35,55,15 |     5 |     0
5        |     5 |     1
0,5,1    |     5 |     1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM