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