1

这是在 SQL Server 2008 上。

我有几列要从money和转换decimalvarchar,例如名为 的列item_amount

  • 这些值将如何转换?

    会一样convert(varchar, item_amount)吗?运行类似的查询select item_amount, convert(varchar, item_amount) from <table>会以相同的方式呈现列,这是我所期望和想要的。

  • 我应该不会被截断,对吗?

    假设列中有足够的字符varchar(这将是 39,因为小数列的最大精度是 38 + 1 个小数点字符)。没有一个数值接近 38 位,大部分在 3-5 范围内。

  • 我已经在测试表上成功运行了这个命令,并希望确保我没有忽略或忘记一些会让我感到困惑的事情:(alter table <mytable> alter column item_amount varchar(39) default '0'这是在删除现有的默认 ((0)) 约束之后)。

4

1 回答 1

2

关于转换的完成方式,是的,只要您放置它的 VARCHAR 列具有正确数量的可用字符,您就可以设置为去。

关于您将金额更改为 varchar,您应该没问题,因为它会进行转换。

我只需要注意,这样做听起来不是一个好主意,因为您不再与数字交互以进行排序、过滤等......而只是一个注释。

于 2011-01-13T22:21:07.820 回答