2015-04-03 20 views
0

我有這樣一行文字: -如何獲取存在於SQL表的一列文本行中的數字?

「Chaitanya有10盧比。」

我需要顯示數字10作爲結果。

每行不會有相同的字符。

5分鐘後,線路將被改變爲: -

「切塔尼亞將具有10個盧比。」

所以這裏句子的長度會改變。 但我需要得到的結果爲10. 我需要幫助。

我試過一些代碼,但它不工作。我試過代碼: -

SELECT TOP 1 FROM ALARMS WHERE S.SUBSTRING(Text,26,2) ORDER BY [EventTime] DESC

回答

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 
1

最簡單的方法是使用諸如:

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 
+0

'我需要顯示的號碼10 result.'並不僅僅是'FALSE'或' TRUE' – 2015-04-03 06:08:43

相關問題