2017-01-12 94 views
-3

我想通過表格設計從Char到Money更改列數據類型。但它給出了錯誤「不能將char轉換爲金錢,Char值具有不正確的語法」。任何人都可以請建議如何繼續?如何更改從CHAR到Money的表格的數據類型

+0

這是一個很好的開始:[如何在公共論壇上發佈T-SQL問題](http://spaghettidba.com/2015/04/24/how-to-post-at-sql-問題上,一個公開論壇/)。請抽出一段時間[tour](http://stackoverflow.com///tour)並訪問[help center](http://stackoverflow.com//help)。您可能還想閱讀[如何問](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

感謝Ben的回覆。我執行了查詢並獲得了許多類似「4.54757e-13」的值。我們可以將其轉換成什麼? – Legolas04

+1

如果它包含「e-13」,這確實是一個非常小的數字,而不是大量的金錢。這些可以轉換爲浮點數,但是在你知道如何處理它們之前,你必須明白它們出現在數據中的原因。 – Ben

+0

確保您正在轉換爲適當的類型。 'float'只有14位精度。另請參閱:https://msdn.microsoft.com/en-us/library/ff848794.aspx – Ben

相關問題