SQL - nvarchar和money之间的转换问题

时间:2017-05-09 14:46:15

标签: sql sql-server tsql

我正在尝试将nvarchar(255)数据类型转换为money,并且我收到此错误消息:“无法将char值转换为money.char值的语法不正确。”

我在Stockoverflow上发现了一些事情,建议我在下面的格式中添加isNull,但我仍然得到同样的错误。

SUM(isnull(cast(tbl_ALL_DATA_REPORT.[30_days_ago_sales] as money),0)) AS SumOf30_Days_Ago, 

知道我在这里做错了什么吗?

enter image description here

3 个答案:

答案 0 :(得分:0)

某些值包含无效字符..您可以尝试使用try_cast

SUM(isnull(try_cast(tbl_ALL_DATA_REPORT.[30_days_ago_sales] as money),0)) AS SumOf30_Days_Ago, 

在你的场景中

SUM(cast(ISNULL(tbl_ALL_DATA_REPORT.[30_days_ago_sales],0) as DECIMAL(19,12))) AS SumOf30_Days_Ago,

答案 1 :(得分:0)

试试这个,将你的ISNULL放在CAST中:

import numpy as np    
arr = np.array([10,1,2,5,6,2,3,8])

此外,我将您的MONEY更改为DECIMAL,因为MONEY最多有5个小数位。

答案 2 :(得分:0)

您很可能会将无效字符或某些数字作为无法转换的数据集的一部分。检查数据是否真的是数字'在做出假设之前:

g.drawString