Sql 将带有%的值存储到数据类型decimal(28,9)的列中
我使用以下代码对文本文件中的值进行子串,并将其存储在表中:Sql 将带有%的值存储到数据类型decimal(28,9)的列中,sql,Sql,我使用以下代码对文本文件中的值进行子串,并将其存储在表中: CASE WHEN ISNUMERIC(SUBSTRING(Record,82,11))=1 THEN (LTRIM(RTRIM(CAST(REPLACE(SUBSTRING (Record,82,11),',','')AS DECIMAL(28,14))))) ELSE NULL END 我面临的问题是,当子字符串包含像“0.098467%”这样的值时,表中的null值会更新。有人能帮我解
CASE
WHEN ISNUMERIC(SUBSTRING(Record,82,11))=1
THEN (LTRIM(RTRIM(CAST(REPLACE(SUBSTRING (Record,82,11),',','')AS DECIMAL(28,14)))))
ELSE NULL
END
我面临的问题是,当子字符串包含像“0.098467%”这样的值时,表中的null值会更新。有人能帮我解决这个问题吗。0.098467%您想对这些字符串做什么?可以在我的else条件中添加一些东西来存储这些数据吗?将其存储在Varchar中您必须在通过isnumeric和cast之前替换%字符。就像你已经在用逗号一样。