2011-09-11 41 views
2

価格を「USD」と組み合わせる必要がありますが、このエラーが発生しています。char値をmoneyに変換できません。 char値の構文が正しくありません

"char値をmoneyに変換できません。char値の構文が正しくありません。"

IsNull(pe.SalePrice,pe.ProductPrice) + ' USD' AS price 
+0

(すなわち、それは、そのように失敗します合計に結果を追加CAST('USD' AS MONEY)をやろうとしていることは数ではありません)私の謝罪、私はあなたの質問を理解していない。 – user357034

答えて

8

あなたはにmoney値をキャストする必要があります文字列。現時点であなたがData Type Precedenceルールに従ってラウンド暗黙のキャストに他の方法を取得している

SELECT 
    CAST(IsNull(pe.SalePrice,pe.ProductPrice) AS VARCHAR(30)) + ' USD' AS price 
+0

優れた – user357034

0

CONCAT(のIsNull(pe.SalePrice、pe.ProductPrice)、 'USD')価格

AS私はわからないのIsNull部分について

+1

おそらく私の質問に間違ったタグがありますが、これを試して、CONCAT 'が認識された組み込み関数名ではありません – user357034

+0

ああ、SQL Server。私はそれを見ませんでした。プラス記号を使って、キャストする必要があります。 http://msdn.microsoft.com/en-us/library/aa276862(v=sql.80).aspx – Du3

+0

SQL Server Denaliには、自動的にキャストが処理される「CONCAT」機能があります。 –

関連する問題