我正在寻找正则表达式模式,只在字符串中找到零。 string的数字用逗号(,)分隔。
EG。
'0'
'1,2,0,3'
'10,2,0'
请帮忙。 如果String有10或20,100等,那么它不应该返回匹配。 我将在过程中获取字符串作为输入,并且我想基于该字符串中存在的零写一些业务逻辑。数据库是Oracle 11G。
答案 0 :(得分:1)
您可以在Oracle上尝试以下查询:
SELECT *
FROM yourTable
WHERE NOT REGEXP_LIKE(',' || col, ',[^0]')
答案 1 :(得分:1)
如果您的字符串仅包含数字,则可以使用XMLTABLE
SELECT count(CASE
WHEN to_number(column_value) = 0
THEN 1
END) AS contains_zero
FROM XMLTABLE('1,2,0,3');
此外,这样的LIKE
语句应该有效WHERE ',' || string || ',' LIKE '%,0,%'