📜  SQL Server 中的 FORMAT()函数(1)

📅  最后修改于: 2023-12-03 15:05:17.514000             🧑  作者: Mango

SQL Server 中的 FORMAT()函数

在 SQL Server 中,FORMAT() 函数用于将日期/时间、数值和字符串等数据类型格式化为指定的字符串形式。它可以在 SELECT 语句中用作计算列,也可以在其他查询操作中使用。

语法

格式化日期/时间:

FORMAT (date, format[, culture])

格式化数值:

FORMAT (number, format[, culture])

格式化字符串:

FORMAT (value, format)

其中,参数解释如下:

  • date:日期/时间类型的值。
  • number:数值类型的值。
  • value:字符串类型的值。
  • format:指定输出格式的字符串。可以使用标识符来代表日期/时间或数值。
  • culture:可选项,指定区域设置信息。默认使用当前 SQL Server 实例的区域设置。
示例
格式化日期/时间
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss.fff')
-- 输出格式:2022-08-11 16:32:09.637
SELECT FORMAT('2022-08-11', 'dddd, dd MMMM yyyy')
-- 输出格式:Thursday, 11 August 2022
格式化数值
SELECT FORMAT(1234567.89, 'C')
-- 输出格式:$1,234,567.89
SELECT FORMAT(0.123456, '0.##%')
-- 输出格式:12.35%
格式化字符串
SELECT FORMAT('Hello, World!', '#####')
-- 输出格式:     0
注意事项
  • FORMAT() 函数在 SQL Server 2012 及以上版本中可用。
  • 格式字符串的标识符和语法与 .NET Framework 中的 String.Format() 方法相同。因此,可以使用相同的格式字符串代码在 SQL Server 和 .NET Framework 代码之间转换。
  • 如果格式字符串中有多个标识符,则按顺序应用它们。标识符之间可以使用静态文本、空格或其他字符进行分隔。
  • FORMAT() 函数返回值始终是字符串类型。如果要在其他运算中使用格式化的日期/时间或数值,需要先将其转换为对应的数据类型。