将日期时间转换为字符串的 SQL 查询
为了将日期时间转换为字符串,我们可以使用 CONVERT() 和 CAST() 函数。这些函数用于将(任何数据类型的)值转换为指定的数据类型。
CONVERT()功能
语法:
CONVERT(VARCHAR, datetime [,style])
- VARCHAR–表示字符串类型。
- 日期时间–可以是计算日期的表达式,也可以是要转换为字符串的日期时间值。
- 样式–指定日期的格式。它的值是由 SQL Server 预定义的。样式参数是可选的。
CAST()功能
语法:
CAST(EXPRESSION AS DATATYPE(length))
- 表达式–表示需要转换的值。
- DATATYPE–它是我们要将表达式转换为的数据类型。
- 长度–表示结果数据类型的长度(可选)。
在下面的例子中,我们将把日期时间转换成不同格式的字符串。
步骤 1: 创建数据库
查询:
CREATE DATABASE Product_order;
图:创建数据库
步骤 2: 创建表格
现在,我们需要在数据库中创建一个表。为此,我们将使用 CREATE 语句。
查询:
CREATE TABLE orders (prod_id INT,
prod_name VARCHAR(255),
order_date DATE,
PRIMARY KEY(prod_id));
图:创建订单表
步骤 3: 将数据插入表格
在这一步中,我们将在订单表中插入数据。为了插入数据,我们将使用 INSERT 语句。
查询:
INSERT INTO orders VALUES (101, 'iPhone', '2020-07-20'),
(102, 'iPad', '2018-01-01'),
(103, 'iWatch', '2019-03-15'),
(104, 'iMac', '2016-05-13');
图:将数据插入订单表
步骤 4: 为了验证表的内容,我们将使用 SELECT 语句。
SELECT * FROM orders;
图:选择语句查询
输出:
图:订单表
第 5 步:使用 CONVERT()函数
查询:
/*Declaring DATETIME as dt*/
DECLARE @dt DATETIME = (SELECT order_date
FROM orders WHERE prod_id = 101);
/*SELECT statement is used to print the s1 message*/
SELECT
CONVERT(VARCHAR(20),@dt,0) s1;
图:CONVERT()函数查询
输出:
图:输出
查询:
在本例中,我们将样式参数更改为 1。同样,您可以使用上表中不同的样式参数值。
/*Declaring DATETIME as dt*/
DECLARE @dt DATETIME = (SELECT order_date
FROM orders WHERE prod_id = 103);
/*SELECT statement is used to print the s1 message*/
SELECT
CONVERT(VARCHAR(20),@dt,1) s1;
图:CONVERT()函数查询
输出:
图:输出
第 6 步:使用 CAST()功能
查询:
/*Declaring DATETIME as dt*/
DECLARE @dt DATETIME = (SELECT order_date
FROM orders WHERE prod_id = 102);
/*SELECT statement is used to print the s1 message*/
SELECT
CAST(@dt AS DATETIME) s1;
图:CAST()函数查询
输出:
图:输出
版权属于:月萌API www.moonapi.com,转载请注明出处