0

我正在使用 LIST 函数创建一个 ';' 分隔的值列表。类型是数字 (19,2)。由于某种原因,使用 list 函数时似乎忽略了精度。在此列上执行简单选择时,值看起来不错,即“12.00”。但是,如果我使用 LIST() 我的结果格式为“12.000000”

这是我的 LIST 用法:

LIST(case when tblWOService.PricePerVehicle is null then ' ' else CONVERT(decimal(19,2),tblWOService.PricePerVehicle end,';')

CONVERT 不会改变结果。有任何想法吗?

谢谢!

4

1 回答 1

1

您是否尝试过显式转换您的空字符串?

LIST(
    case when tblWOService.PricePerVehicle is null then CONVERT(decimal(19,2),' ')
        else CONVERT(decimal(19,2),tblWOService.PricePerVehicle) end,';'
)

我在 T-SQL 中遇到了与 CASE 语句类似的数据类型问题。

于 2009-02-05T23:40:25.733 回答