无法在 SQL Server 2000 中将 char 转换为货币
Cannot convert char to money in SQL Server 2000
当我执行以下查询时
floor(Convert(money, @rawMoney) / cc.USDConversionRate)
我总是遇到这个错误,我正在使用 SQL Server 2000
但如果我使用
floor( Convert(money,substring(23,10)) / cc.USDConversionRate)
那就不会报这个错了
试试这个
select (cast(@rawMoney as money)) from #YourTable
只有一组有限的非数字符号可以传递给 money
类型变量,例如 $。可以找到整个列表 on MSDN.
检查您的原始变量值是否符合此标准 - 如果不符合,那就是错误。
例如如果您将原始变量直接传递给 convert
,则以下内容不起作用:
declare @rawMoney varchar(10) = 'USD 123.45'
select Convert(money,substring(@rawMoney,5,10))
试试这个:
SELECT CAST(@rawMoney AS MONEY)
所以它可能像
floor( CAST(@rawMoney AS MONEY) / cc.USDConversionRate)
当我执行以下查询时
floor(Convert(money, @rawMoney) / cc.USDConversionRate)
我总是遇到这个错误,我正在使用 SQL Server 2000
但如果我使用
floor( Convert(money,substring(23,10)) / cc.USDConversionRate)
那就不会报这个错了
试试这个
select (cast(@rawMoney as money)) from #YourTable
只有一组有限的非数字符号可以传递给 money
类型变量,例如 $。可以找到整个列表 on MSDN.
检查您的原始变量值是否符合此标准 - 如果不符合,那就是错误。
例如如果您将原始变量直接传递给 convert
,则以下内容不起作用:
declare @rawMoney varchar(10) = 'USD 123.45'
select Convert(money,substring(@rawMoney,5,10))
试试这个:
SELECT CAST(@rawMoney AS MONEY)
所以它可能像
floor( CAST(@rawMoney AS MONEY) / cc.USDConversionRate)