新版决策出来了,想要计算直接显示百分比就需要使用此类转换函数。
计算值百分比显示
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';
输出:
INDIA | CHINA | SWITZERLAND | USA |
---|---|---|---|
¥ 1.00 | 1.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