首页 > 解决方案 > 将 Float 格式化为 N0 并转换为 String

问题描述

我有 3 列,两列是位值,一列是浮点数。我想使用以下 case 语句将这些值组合成一列,我需要最后一列是一个字符串,所以我可以有代表位值的文本值。这很好用,但是,我还想在转换为字符串之前将浮点数格式化为“N0”。所以一个很大的数字显示为 1,234,567,890。

CASE 
    WHEN nd = 1 THEN 'ND'
    WHEN nil = 1 THEN 'Nil'
    ELSE LTRIM(STR(FORMAT(position, 'N0'))
END AS position

消息 8114,级别 16,状态 5,过程 ChkSummary,第 46 行 [批处理开始行 152]
将数据类型 nvarchar 转换为浮点数时出错。

编辑:DBMS SQL Server

正如评论所暗示的那样 ELSE FORMAT(position, 'N0') 有效。

标签: sqlsql-server

解决方案


推荐阅读