0

データ型変換の問題があります。

リスト B は の生データですvarchar
を取り除くために、 リスト A'-'も使用しました。REPLACE(PPRICE,'-','')
varchar

ただし、データ型を数値 (18,4) に変換したい場合は、

CONVERT(numeric(18, 4),REPLACE(PPRICE,'-',''))

SQL Server がそれをさせてくれません。

誰かが理由を知っていますか?

ところで、リストのいくつかの値は空です。

 A   B
1800    1800
75.44   75.44
75.44   75.44
20       000020-
25       000025-
250 250
4

1 に答える 1

1

リスト内の空の値が原因で変換が失敗したようです。case ステートメントを使用して空のデータに対応することで、これを試してください。

CONVERT(NUMERIC(18, 4),REPLACE( CASE WHEN LTRIM(RTRIM(PPRICE)) <> '' THEN 0 ELSE A END,'-','')) 
于 2013-10-03T17:28:57.503 に答える