【问题标题】:Sqlite check if comma-separated numbers String contains a numberSqlite 检查逗号分隔的数字字符串是否包含数字
【发布时间】:2020-11-25 21:53:50
【问题描述】:

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

  • 51,2,1 -> 否
  • 535, 55, 15 -> 否
  • 55 -> 是
  • 50,5,1 -> 是

P.S
逗号分隔的数字是 Android MMS Api,不是我能控制的。

【问题讨论】:

    标签: sql string sqlite csv


    【解决方案1】:

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

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

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

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

    Demo on 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
    
    我的csv |迈瓦尔 |成立 :------- | ----: | ----: 1,2,1 | 5 | 0 35,55,15 | 5 | 0 5 | 5 | 1 0,5,1 | 5 | 1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多