Cav*_*len 7 sql t-sql sql-server ssis casting
是否有一种简单的内置方式将格式为"$ 1,000.00"和"($ 1,000.00)"的NVARCHAR转换为数值1000.00和-1000.00?
我试图在SQL Server或SSIS中执行此操作.
施放到MONEY会给我错误
"Cannot convert a char value to money. The char value has incorrect syntax.".
Run Code Online (Sandbox Code Playgroud)
当试图抛出负值时,我假设由于括号.
Tom*_*day 11
这应该可以解决问题
SELECT '$1,000.00'
,CAST('$1,000.00' AS MONEY)
,CAST(REPLACE(REPLACE('($1,000.00)', '(', '-'), ')','') AS MONEY)
Run Code Online (Sandbox Code Playgroud)
根据@ mellamokb的建议,如果你使用的是SQL 2012,你可以使用:
SELECT PARSE('($1000.00)' AS MONEY)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28954 次 |
| 最近记录: |