因此,由于前一个在特定数据库中工作的人所犯的错误,我有一个应该是十进制(18,5)的列,而是一个十进制(18,0)。 (如果没有指定精度和比例,这显然是SQL Server的默认设置。)
我添加了一个合适类型的新列,但是如下所示,多次尝试进行转换失败了:
UPDATE [Case].[TableThatWasBuiltWrong] SET NewDecimalValue =
CONVERT(DECIMAL(18,5), OldDecimalValue)
这会返回一个算术溢出错误 - 虽然严格地说是正确的,但并不是我所关心的(我已经证实,目前没有数据超过5位小数,更不用说13的预期限制了。) / p>
鉴于这种情况,我如何将OldDecimalValue的内容转换为NewDecimalValue?
(编辑为在实际使用中更正为SQL Server版本)
答案 0 :(得分:0)