这是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