2017-01-12 37 views
-3

テーブルのデザインを通じて列データ型をCharからMoneyに変更しようとしています。しかし、 "Charをお金に変換できません.Char値の構文が正しくありません"というエラーが出ています。誰でも進める方法を提案できますか?このような不正な値のためのテーブルのデータ型をCHARからMoneyに変更する方法

+0

これは始めるのに最適な場所です:[パブリックフォーラムでのT-SQL質問の投稿方法](http://spaghettidba.com/2015/04/24/how-to-post-at-sql-パブリックフォーラム質問/)。 [ツアー](http://stackoverflow.com/jp)でタイムアウトして[ヘルプセンター](http://stackoverflow.com//help)にアクセスしてください。 [How to Ask](http://stackoverflow.com///questions/how-to-ask)もお読みください。 – Marusyk

答えて

2

ルック:

select * from TableName 
where colName is not null 
and try_convert(money, colName) is null 

これらは変換できませんでした値です。これらを有効な値に変更し、それが成功します。

+0

あなたのすばやい返信のためにベンに感謝します。私はクエリを実行し、 "4.54757e-13"のような多くの値を得ました。私たちはそれを何に変換できますか? – Legolas04

+1

'e-13'が含まれている場合、これは実際には非常に少数であり、多額の金額ではありません。これらは浮動小数点に変換することができますが、それらの処理方法を知る前にそれらがデータに表示される理由を理解する必要があります。 – Ben

+0

適切なタイプに変換していることを確認してください。 'float'は14桁の精度しか持っていません。参照:https://msdn.microsoft.com/en-us/library/ff848794.aspx – Ben

関連する問題