7

「$1,000.00」および「($ 1,000.00)」の形式のNVARCHARをそれぞれ数値1000.00および-1000.00に変換する簡単な組み込みの方法はありますか?

SQLServerまたはSSISのいずれかでこれを実行しようとしています。

お金にキャストするとエラーが発生します

"Cannot convert a char value to money. The char value has incorrect syntax.".

負の値をキャストしようとするとき、私は括弧のためだと思います。

4

1 に答える 1

15

これはトリックを行う必要があります

SELECT   '$1,000.00'
        ,CAST('$1,000.00' AS MONEY)
        ,CAST(REPLACE(REPLACE('($1,000.00)', '(', '-'), ')','') AS MONEY)

SQLフィドルの例

また、@ mellamokbの提案によると、SQL 2012を使用している場合は、次のように使用できます。

SELECT PARSE('($1000.00)' AS MONEY)

SQLフィドルの例

于 2012-05-14T20:10:43.640 に答える