SQL 列表函数去除精度
Posted
技术标签:
【中文标题】SQL 列表函数去除精度【英文标题】:SQL List Function Removing Precision 【发布时间】:2009-02-05 23:27:12 【问题描述】:我正在使用 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 不会改变结果。有什么想法吗?
谢谢!
【问题讨论】:
【参考方案1】:您是否尝试过显式转换您的空字符串?
LIST(
case when tblWOService.PricePerVehicle is null then CONVERT(decimal(19,2),' ')
else CONVERT(decimal(19,2),tblWOService.PricePerVehicle) end,';'
)
我在 T-SQL 中遇到了与 CASE 语句类似的数据类型问题。
【讨论】:
以上是关于SQL 列表函数去除精度的主要内容,如果未能解决你的问题,请参考以下文章
sql [CreateTableFromFieldListIncludingTypes]从字段列表创建表动态地包括类型,比例和精度#table #create #dyna
sql server去除字符串空格的ltrim()和rtrim()函数