小数的 SQL 格式,用逗号表示小数,仅用于数字

Posted

技术标签:

【中文标题】小数的 SQL 格式,用逗号表示小数,仅用于数字【英文标题】:SQL format for decimal with comma to indicate decimals, only to digit 【发布时间】:2018-05-14 07:34:19 【问题描述】:

如何将十进制值转换为逗号?

数字不带逗号来分隔 1000,并且有逗号来表示小数,仅表示数字。

例如:1324,35(正确) 而不是 1.324,35(格式不正确)或 1,345.64(格式不正确)

【问题讨论】:

你能提供你目前所拥有的来制作上述内容吗? 例如:1324.3532如何转换成1324,35 这取决于您的本地语言设置。您还可以转换数字以使用逗号,但它将被视为 VARCHAR 而不是数字:REPLACE(CAST(1324.35 AS VARCHAR(20)), '.', ',') @VladimirKirov 发布您的查询。 SQL Server没有十进制/数字类型的特定格式。它们是 二进制 值。格式仅适用于代码将数字转换为字符串,通过CAST/CONVERT/FORMAT 显式或通过将数字分配给文本字段/变量来隐式 @VladimirKirov 如果您真的想将数字转换为文本,请在 客户端 上执行此操作。在那里格式化文本要容易得多,确定正确的语言环境。否则使用FORMAT 函数with 所需的语言环境。 【参考方案1】:

您需要向FORMAT() 添加适当的文化参数。许多欧洲国家/地区使用逗号作为小数分隔符,因此可以使用以下方法:

select FORMAT(12345.8, '#.00', 'fr-fr')

【讨论】:

【参考方案2】:

如果您使用的是 SQL Server 2012 及更高版本,则可以使用 format 函数, 比如:

 FORMAT (YourColumn, "#,###")

【讨论】:

这仍将使用本地化格式,即., 用于小数。 FORMAT 是合适的,因为它接受所需语言环境的第三个参数

以上是关于小数的 SQL 格式,用逗号表示小数,仅用于数字的主要内容,如果未能解决你的问题,请参考以下文章

用逗号格式化数字PHP [重复]

带逗号的 Oracle 格式数字删除尾随零小数

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

计算中的小数点为。要么 ,