我想在sql中检查一个模式,如果该表达式(或表格单元格)中除了数字之外还有任何内容它应该返回1.如果整个单元格只有数字值,它应该返回0
当量:
case when '200290' like [anything other than numbers]
then 1
else o
答案 0 :(得分:2)
在SQL Server中,您可以使用类似的东西(我不会为您编写整个函数):
DECLARE @t varchar(100) = '231321321321'
SELECT CASE WHEN PATINDEX('%[^0-9]%', @t) > 0 THEN 1
ELSE 0 END
答案 1 :(得分:0)
SELECT CASE CHARACTERS(OTRANSLATE(<your_string>,'a1234567890','a'))
WHEN 0 THEN 0 ELSE 1 END;
例:
-- BTEQ Enter your SQL request or BTEQ command:
SELECT CASE CHARACTERS(OTRANSLATE('12345','a1234567890','a'))
WHEN 0 THEN 0 ELSE 1 END;
*查询已完成。找到一排。一栏返回。 * 总耗用时间为1秒。
<CASE expression>
------------------
0
SELECT CASE CHARACTERS(OTRANSLATE('1a23b45c','a1234567890','a')) WHEN 0 THEN 0 ELSE 1 END;
*查询已完成。找到一排。一栏返回。 * 总耗用时间为1秒。
<CASE expression>
------------------
1