0
我在SQL Server 2008中有這個疑問:錯誤將varchar爲十進制
select ID,CAST(replace(SUBSTRING(LTRIM([value]),1,8)+'.'+SUBSTRING(LTRIM([value]),9,7),',','.')AS DECIMAL (16,7)),
from T1
這回投的錯誤。
要找到哪裏出了問題我試過如下:
select ID,SUBSTRING(LTRIM([value]),1,8)+'.'+SUBSTRING(LTRIM([value]),9,7),
isnumeric(SUBSTRING(LTRIM([value]),1,8)+'.'+SUBSTRING(LTRIM([value]),9,7))
from T1
where isnumeric(SUBSTRING(LTRIM([value]),1,8)+'.'+SUBSTRING(LTRIM([value]),9,7))<>1
但它返回0行,那麼我想,所有的值都投他們爲十進制可行的,但是當我運行第一個查詢它失敗。
我是否會誤解產生問題的東西?
P.D:Value是varchar數據類型。
您是否嘗試過在第一個查詢中找到失敗的實際行? –
提供樣本數據。 「價值」的數據類型是什麼?還提供了什麼是拋出的錯誤? – Viki888
@ LasseV.Karlsen是的,正如我上面解釋的那樣,我正在嘗試使用第二個查詢 – Maik