我在這裏有一個小問題。使用patindex的字符串變量內部的單獨數字
我有這樣
1/11
11/1
11/11
111/1
111/11
值我試圖分離那些價值,並把它們變成數值變量。 讓說,例如,我有numericvar1
和numericvar2
所以在第一串numericvar1
將包含1和numericvar2
將包含11
等。
我已經試過像這樣
SET @numericvar1= LEFT(@StrNumHolder, PATINDEX('%[0-9][^0-9]%', @StrNumHolder))
SET @numericvar2= REPLACE(RIGHT(@StrNumHolder, PATINDEX('%[0-9][^0-9]%', @StrNumHolder)),'/','')
在此代碼,如果/
前的第一個數字是2位數的我得到了正確的輸出。但如果第一個數字是1位數字,下一個數字是2位數字,如1/11
我得到了錯誤的輸出。像這樣var1 = 1
和var2 = 1
在我的代碼中做錯了什麼?或者這是不可能的?請幫幫我。
我試了一下,並改變某種代碼來達到我的目標。呵呵。無論如何,我認爲我可以用這個。 'SET @pos = CHARINDEX('/',@STRNUMHOLDER)'這將表明我的位置,所以在你的選擇中,我將它修改爲'SELECT @STRNUMHOLDER AS ORIG,LEFT(@STRNUMHOLDER ,@ pos-1)AS NUM1,SUBSTRING(@STRNUMHOLDER,@ pos + 1,99)AS NUM2' – Muj
我做了一個類型錯誤,同時進行了修正(我顛倒了+和 - ) – etsa