SQL FORMAT() 函数

SQL FORMAT() 函数

SQL FORMAT() 函数用于检索给定文本的格式化值。它接受三个参数,表示值、格式和区域,其中区域参数是可选的。

语法

以下是 SQL FORMAT() 函数的语法:

FORMAT( value, format [, culture ] )

参数

  • value - 需要格式化的字符串值。

  • format - 需要格式化字符串的模式。

示例

以下SELECT查询将日期转换为指定的格式,这个查询将显示指定的日期格式。

DECLARE @DATE DATE = '04/20/2022'; 
SELECT FORMAT(@DATE, 'MM/dd/yyyy', 'EN-US') AS 'DATE';

输出

以下是上述查询的输出结果-

+-------------+
|   DATE      |
+-------------+
| 04/20/2022  |
+-------------+

示例

以下SELECT查询也可以具有当前日期格式,该查询将显示当前日期格式 –

SELECT FORMAT(@CUR_DATE, 'MM/dd/yyyy', 'EN-US') AS 'CURRENT_DATE';

输出

上述 SQL 查询生成以下输出−

+---------------+
| CURRENT_DATE  |
+---------------+
| 02/20/2022    |
+---------------+

示例

以下SELECT查询将一个字符串转换为自定义字符串格式−

SELECT FORMAT(146597, ' $#,##,###.00 ') AS Custom;

输出

执行上述查询后,将产生以下输出:

+--------------+
| Custom       |
+--------------+
| $146,597.00  |
+--------------+

示例

下面的SELECT查询将时间转换为指定的格式 –

SELECT FORMAT(CAST('2018-01-01 01:00' AS datetime2), N'hh:mm tt') AS 'CURRENT_TIME';

输出

执行上述查询后,将产生以下输出:

+--------------+
| CURRENT_TIME |
+--------------+
|   1:00 AM    |
+--------------+

示例

以下SELECT查询将字符串转换为百分比-

SELECT FORMAT((10/10), 'p' ) AS [Percentage];

输出

执行上述查询后,将产生以下输出 −

+--------------+
| PERCENTAGE   |
+--------------+
|   100.00%    |
+--------------+

示例

以下SELECT查询将一个字符串转换为货币金额 –

SELECT FORMAT(999, 'C' ) AS Currency;

输出

执行上述查询后,将产生以下输出:

+--------------+
| CURRENCY     |
+--------------+
|   $999.00    |
+--------------+

示例

您可以将表列作为参数传递给 FORMAT() 函数,该函数将其转换为指定的 格式 。假设我们使用 CREATE 语句创建了一个名为Customers的表如下:

create table CUSTOMERS(
   ID INT NOT NULL, 
   NAME VARCHAR(15) NOT NULL, 
   AGE INT NOT NULL, 
   ADDRESS CHAR(25), 
   SALARY DECIMAL(10, 4), PRIMARY KEY(ID)
);

现在,让我们使用INSERT语句将 seven 条记录插入到customers表中,如下所示:

insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(2, 'Khilan', 25, 'Delhi', 1500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(3, 'kaushik', 23, 'Kota', 2000.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(7, 'Muffy', 24, 'Indore', 10000.00);

下面的SELECT查询使用FORMAT函数,并使用上述CUSTOMERS表的SALARY列 –

SELECT ID, FORMAT(SALARY, 'C') AS CURRENCY FROM CUSTOMERS;

输出

在执行上述语句后,会产生以下输出:

+----------+-----------+
|   ID     | CURRENCY  |
+----------+-----------+
|    1     | 2,000.00 |
|    2     |1,500.00 |  
|    3     | 2,000.00 |
|    4     |6,500.00 |
|    5     | 8,500.00 |
|    6     |4,500.00 |
|    7     |$10,000.00 |
+----------+-----------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程