数据格式化SQL函数FORMAT()

新版决策出来了,想要计算直接显示百分比就需要使用此类转换函数。

计算值百分比显示

FORMAT(字段, 'P')

FORMAT()函数介绍

FORMAT()函数是字符串函数之一,用于将给定值格式化为给定格式。

用法:FORMAT(值、格式、区域性)

参数:

该方法接受三个参数,如上所述,如下所述:

  • :是做格式化的值。它应该支持数据类型格式。
  • 格式:是我们要求输出的要求格式。
  • 文化:可选参数。默认情况下,SQL Server 使用当前会话语言作为默认区域性。我们可以在这里提供特定的文化,但是。Net 框架应该支持它。如果区域性无效,我们会收到一条错误消息

返回:返回用指定格式和可选区域性格式化的值。

示例1:格式化数字。

SELECT FORMAT(25, 'N')

输出:25.00

示例2:PERCENTAGE(百分比)格式的示例。

SELECT FORMAT(1, 'P', 'en-US')AS [PERCENTAGE IN US FORMAT], 
    FORMAT(1, 'P', 'en-IN') AS [PERCENTAGE IN INDIA FORMAT];

输出:

美国格式百分比在印度格式中所占的百分比
100.00%100.00%

示例3:DATE(日期)格式的示例。

DECLARE @d DATETIME = GETDATE();  
SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result'

输出:

日期时间结果
2020年11月23日

示例4:使用AM或PM格式化当前时间。

SELECT FORMAT(SYSDATETIME(), N'hh:mm tt');

输出:10:11 AM

示例5: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';

输出:

INDIACHINASWITZERLANDUSA
¥ 1.001.00瑞士法郎¤1.00$1.00

如果你想要保留小数点后的位数,可以在格式字符串中指定精度,例如使用’N2’来显示两位小数:

SELECT FORMAT(1234567.89, 'N2') AS FormattedNumber;
-- 输出1,234,567.89

请注意,FORMAT函数在SQL Server 2012及更高版本中可用。如果你使用的是更早的版本,可能需要考虑其他方法,如使用STR函数配合字符串函数来实现类似的效果。

日期转年月显示

FORMAT([SalesData].[SaleDate], 'yyyyMM')

还有另外一种方法

 CAST(DATEPART(year, GETDATE()) AS varchar) + RIGHT('0' + CAST(DATEPART(month, GETDATE()) AS varchar), 2)

相关文章

#数值格式#字段格式#数据格式#决策分析

© 版权声明
THE END
喜欢就点赞吧
点赞15 分享