我有這個查詢我試圖讓工作,可以從字符串中提取十進制數,所以他們是他們自己的列。目標是然後比較值是訂購他們,所以他們也將需要轉換爲十進制(獲取數字的字符串是主要問題雖然)從字符串中選擇數字
我使用的示例是與字符串「 OrdRevenuePay 3200.00 - > 2836.07,OrdRate 3200.00 - > 2836.07「
我需要將每個字符串中的數字作爲自己的列。我到目前爲止能夠選擇第一個值,但第二個值也返回其他部分。這是查詢我一直使用至今:
DECLARE @str VARCHAR(128)
SET @str = 'OrdRevenuePay 3200.00 -> 2836.07, OrdRate 3200.00 -> 2836.07'
SELECT SUBSTRING(@str,CHARINDEX(' ',@str)+1,CHARINDEX('->',@str)-CHARINDEX(' ',@str)-1) as col1
, SUBSTRING(@str,CHARINDEX('->',@str,1)+2,LEN(@str)-CHARINDEX(', OrdRate',@str,1)-1) as col2
請加樣輸出和輸入 – TheGameiswar
有什麼可預測的關於輸入字符串,例如總是有四個十進制值,它們之間有某種標點符號,或者它可以是任何東西? – HABO
這些值可以從4位(包括小數)到10位;字符串的格式總是相同的,I.E它始終以「OrdRevenuePay [number1] - > [number2],OrdRate [Number3] - > [Number4]」開頭。我希望每個數字都在自己的專欄中。最終目標是查詢只返回記錄,其中Number1大於Number2,而3大於Number4。 – samalkobi