這是SQL Server上2008TSQL:如何在sql server中更改數字列時轉換值?
我有幾個列我想從money
和decimal
轉換爲varchar
,例如列名爲item_amount
。
這些數值將如何轉換?
它會和
convert(varchar, item_amount)
一樣嗎?運行像select item_amount, convert(varchar, item_amount) from <table>
這樣的查詢可以呈現相同的列,這是我期望和想要的。我應該從可能的截斷中安全,對嗎?
假設
varchar
列中有足夠的字符(這將是39,因爲max precision for a decimal column is 38 + 1字符爲小數點)。沒有一個數值甚至接近38個數字,大部分在3-5個範圍內。我已經在測試表上成功地運行了這個命令,並且想確保我沒有忽略或忘記那些將要擰我的東西:
alter table <mytable> alter column item_amount varchar(39) default '0'
(這是刪除現有的默認((0))約束)。
一個側面說明,我將命名約束... varchar(39)約束df_tblname_colname默認爲'0'...它使事情保持乾淨並容易丟棄,因爲您必須(0)。另一個問題是,十進制/貨幣是擴大到全尺寸,右邊填充0。不知道這是你的後 – RichardTheKiwi 2011-01-13 22:23:52