【发布时间】:2012-01-13 15:47:24
【问题描述】:
我尝试查询的表中有一个字段类型为decimal(38,19)。我需要将其转换为 varchar 以便我的 perl DBI 模块能够处理。我应该如何在 SQL 中编写转换以使其工作?具体来说,如果我在 SQL Server Management Studio 中运行它:
select convert(varchar, 19040220000.0000000000000000000)
我明白了:
消息 8115,第 16 级,状态 5,第 1 行
将数值转换为数据类型 varchar 时出现算术溢出错误。
我试着先四舍五入:
select convert(varchar, round(19040220000.0000000000000000000, 0))
但这似乎也不起作用(相同的错误消息)。事实上,round() 由于某种原因似乎对该数字没有影响。我该怎么办?谢谢。
【问题讨论】:
-
你不需要为varchar设置一个长度,即。使用 varchar(64)?
标签: sql-server decimal varchar