SQL FORMAT()学习笔记

介绍

在SQL中,格式化函数是一种将数值、日期、字符串等数据类型转换为指定格式的函数。其中,FORMAT()函数是一种字符串格式化函数,它可以将一个值格式化为指定的模式。

语法

FORMAT(value, format [, culture])

参数解释:

  • value: 需要格式化的值。
  • format: 指定的格式。可以是预定义格式,也可以是自定义格式字符串。
  • culture(可选):指定区域设置信息。

实例

格式化数字

下面是一些预定义格式,用于格式化数字:

示例代码:

sqlCopy Code
SELECT FORMAT(12345.6789, 'C', 'en-US') AS Currency; -- $12,345.68 SELECT FORMAT(12345.6789, 'F') AS Fixed; -- 12345.68 SELECT FORMAT(12345.6789, 'N') AS Number; -- 12,345.68 SELECT FORMAT(12345.6789, 'P') AS Percent; -- 1,234,567.89 %

说明:

  • 'C':货币格式。
  • 'F':定点格式。
  • 'N':数字格式。
  • 'P':百分比格式。

格式化日期和时间

下面是一些预定义格式,用于格式化日期和时间:

示例代码:

sqlCopy Code
SELECT FORMAT(GETDATE(), 'd', 'en-US') AS ShortDate; -- 6/5/2023 SELECT FORMAT(GETDATE(), 'D', 'en-US') AS LongDate; -- Sunday, 5 June 2023 SELECT FORMAT(GETDATE(), 't') AS ShortTime; -- 11:51 AM SELECT FORMAT(GETDATE(), 'T') AS LongTime; -- 11:51:19 AM SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS CustomFormat; -- 2023-06-05 11:51:19

说明:

  • 'd':短日期格式。
  • 'D':长日期格式。
  • 't':短时间格式。
  • 'T':长时间格式。

可以使用自定义格式字符串来指定特定的日期和时间格式。例如,'yyyy-MM-dd HH:mm:ss' 表示以年份、月份、日、小时、分钟和秒钟为单位显示日期和时间。

自定义格式

除了预定义的格式之外,还可以使用自定义格式字符串来格式化值。以下是一些常用的格式:

示例代码:

sqlCopy Code
SELECT FORMAT(1234567.89, '#,##0.00') AS CustomFormat1; -- 1,234,567.89 SELECT FORMAT(1234.5678, '00000.00') AS CustomFormat2; -- 01234.57 SELECT FORMAT('Hello, world!', '##[-]##') AS CustomFormat3; -- He-llo

说明:

  • #:占位符。
  • 0:占位符,并在数字前导填充零。
  • ,:千位分隔符。
  • -:负号。
  • []:字符集。

总结

FORMAT()函数是一种强大的字符串格式化函数,可以将任何类型的值格式化为指定的模式。您可以根据需要选择预定义格式或自定义格式,从而轻松地格式化数字、日期、时间和其他类型的值。