如何将varchar转换为负数?

Da *_*est 2 sql t-sql sql-server sql-server-2012

我有一个表,其中列有数据,如($23,324.09).如果是$23,324.09,那么我可以将其转换为money,然后是float.但是( )当我尝试时会导致错误.我是否必须将UDF应用于该列,或者是否有另一种方法来转换此类值.

注意:我无法控制数据如何到达该表.

Mar*_*ith 7

你也可以使用PARSETRY_PARSE

SELECT TRY_PARSE('($23,324.09)' AS MONEY USING 'en-US')
Run Code Online (Sandbox Code Playgroud)

返回

-23324.09
Run Code Online (Sandbox Code Playgroud)