SQL Server 的 FORMAT() 函数用于将指定的值按照给定的格式进行格式化。
SQL Server 中的 FORMAT 函数
在 SQL Server 中,FORMAT 函数主要用于对日期/时间和数值进行具有区域感知的格式化。
FORMAT 函数可以满足多种格式化需求,比如以特定格式显示日期,或者格式化数值。
语法
SQL Server FORMAT() 函数的语法如下:
> FORMAT(value, format, culture)
参数:
FORMAT 函数接受三个参数,具体描述如下:
- Value:指要进行格式化的值。它必须是支持的数据类型格式。
- Format:指我们需要的输出格式。
- Culture:这是一个可选参数。默认情况下,SQL Server 使用当前会话的语言作为默认的区域性。我们可以在此提供特定的区域性,但前提是 .Net 框架必须支持它。如果提供的区域性无效,我们将收到一条错误消息。
SQL Server FORMAT 函数示例
让我们来看一些 SQL Server 中 FORMAT 函数的示例。通过示例学习 SQL Server FORMAT() 函数有助于我们更好地理解这一概念。
使用 FORMAT 函数格式化数字的示例
在这个示例中,我们将使用 FORMAT 函数来格式化一个数字。
查询:
****SELECT FORMAT****(25, ‘N‘)
输出:
!Using FORMAT function to format a number example
使用 FORMAT 函数格式化百分比的示例
在这个示例中,我们将把一个值格式化为百分比(PERCENTAGE)格式。
查询:
****SELECT FORMAT****(1, ‘P‘, ‘en-US‘)****AS**** [PERCENTAGE IN US FORMAT],
****FORMAT****(1, ‘P‘, ‘en-IN‘) AS [PERCENTAGE IN INDIA FORMAT];
输出:
!Format in percentage using FORMAT function example
使用 FORMAT 函数格式化日期的示例
在这个示例中,我们将把日期格式化为我们想要的格式。
查询:
****DECLARE**** @d DATETIME = ****GETDATE****();
****SELECT FORMAT****( @d, ‘dd/MM/yyyy‘, ‘en-US‘ ) ****AS**** ‘DateTime Result‘
输出:
!Format in Date using FORMAT function example
使用 FORMAT 函数将时间格式化为 AM 或 PM 格式的示例
在这个示例中,我们将包含 AM 或 PM 的格式来格式化当前时间。
查询:
****SELECT FORMAT****(****SYSDATETIME****(), N‘hh:mm tt‘);
输出:
!Format time in AM or PM format using FORMAT function example
使用 FORMAT 函数格式化货币的示例
在这个示例中,我们将更改货币(CURRENCY)格式。
查询:
****SELECT****
****FORMAT****(1, ‘C‘, ‘in-IN‘) AS ‘INDIA‘,
****FORMAT****(1, ‘C‘, ‘ch-CH‘) AS ‘CHINA‘,
****FORMAT****(1, ‘C‘, ‘sw-SW‘) AS ‘SWITZERLAND‘,
****FORMAT****(1, ‘C‘, ‘us-US‘) AS ‘USA‘;
输出: