我有一行这样的文字: -
" Chaitanya有10卢比。"
我需要显示数字10作为结果。
每次都不会有相同的字符。
5分钟后,该行将更改为: -
" Chaitanya将获得10卢比。"
所以这里句子的长度会发生变化。 但我需要得到10的结果。 我需要帮助。
我尝试了一些代码,但它没有用。我尝试的代码是: -
SELECT TOP 1 FROM ALARMS WHERE S.SUBSTRING(Text,26,2) ORDER BY [EventTime] DESC
答案 0 :(得分:1)
最简单的方法是使用LIKE:
SELECT CASE WHEN 'FDAJLK' LIKE '%[0-9]%' THEN 'True' ELSE 'False' END; -- False
SELECT CASE WHEN 'FDAJ1K' LIKE '%[0-9]%' THEN 'True' ELSE 'False' END; -- True
答案 1 :(得分:0)
可能这会对你有所帮助。它假设你有数字后的空格。它会选择第一个数字:
SELECT CASE WHEN PATINDEX('%[0-9]%', @s) = 0 THEN NULL
ELSE SUBSTRING(@s, PATINDEX('%[0-9]%', @s),
CHARINDEX(' ', @s, PATINDEX('%[0-9]%', @s))
- PATINDEX('%[0-9]%', @s))
END