对于SSRS 2005报告,如何从数据库中读取不一致的nvarchar数据值作为绘制折线图的一致数字十进制数据?
nvarchar列的实验室读数在图表上绘制为nvarchar(15)数据类型。
示例列,数据不一致,如图所示
示例列值:00123 102(NULL)333 456 N / R否结果567 589
答案 0 :(得分:2)
你可以尝试
SELECT CASE WHEN ISNUMERIC(nvCol) THEN CAST(nvCol as DECIMAL(15,0))
ELSE 0.0 END as DecData
FROM YourTable
ISNUMERIC对于你的使用可能过于笼统(它允许一些非常奇怪的“数字”),如果是这样,那么你可能需要添加自己的条件来过滤。您还必须正确选择DECIMAL。最后,您可能希望检查WHERE子句以过滤掉这些行,而不是将它们默认为0.0。
答案 1 :(得分:0)
使用数据库 去
选择转换(十进制(10,2),ltrim(rtrim(columnname))) 从表 其中isnumeric(columnname)= 1和ltrim(rtrim(columnname))<> ''