为了将DateTime转换为字符串,我们可以使用CONVERT() 和CAST()函数。这些函数用于将值(任何数据类型)转换为指定的数据类型。
CONVERT()函数
用法:
CONVERT(VARCHAR, datetime [,style])
- VARCHAR - 它代表字符串类型。
- datetime - 它可以是计算要转换为字符串的日期或日期时间值的表达式。
- style - 它指定日期的格式。它的值是由 SQL Server 预定义的。样式参数是可选的。
CAST()函数
用法:
CAST(EXPRESSION AS DATATYPE(length))
- EXPRESSION - 表示需要转换的值。
- DATATYPE - 这是我们要将表达式转换为的数据类型。
- length - 它表示结果数据类型的长度(可选)。
没有 Century (YY) |
With 世纪(YYYY) |
Standard |
Format |
---|---|---|---|
- |
0 or 100 |
日期时间的默认值 and smalldatetime |
年月日 hh:miAM(或 PM) |
1 |
101 |
U.S. |
1 = 毫米/日/年 101 = 月/日/年 |
2 |
102 |
ANSI |
2 = yy.mm.dd 102 = yyyy.mm.dd |
3 |
103 |
英国/法国 |
3 = 日/月/年 103 = 日/月/年 |
4 |
104 |
German |
4 = dd.mm.yy 104 = dd.mm.yyyy |
5 |
105 |
Italian |
5 = dd-mm-yy 105 = dd-mm-yyyy |
6 |
106 |
- |
6 = 日月年 106 = 日月年 |
7 |
107 |
- |
7 = 周一,年月日 107 = 周一,年,日 |
8 |
108 |
- |
时:分:秒 |
在下面的示例中,我们将DateTime转换为不同格式的字符串。
第 1 步:创建数据库
询问:
CREATE DATABASE Product_order;
图:创建数据库
第 2 步:创建表
现在,我们需要在数据库中创建一个表。为此,我们将使用 CREATE 语句。
询问:
CREATE TABLE orders (prod_id INT, prod_name VARCHAR(255), order_date DATE, PRIMARY KEY(prod_id));
图:创建表orders
步骤 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;
图:Select语句查询
输出:
图:订单表
步骤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()函数查询
输出:
图:输出
相关用法
- SQL Datetime转Date用法及代码示例
- SQL Datetime转Epoch用法及代码示例
- SQL Date转Datetime用法及代码示例
- SQL DROP和TRUNCATE的区别用法及代码示例
- SQL NUMERIC转NVARCHAR用法及代码示例
- SQL LTRIM()用法及代码示例
- SQL UPPER()用法及代码示例
- SQL RTRIM()用法及代码示例
- SQL FLOAT转NVARCHAR用法及代码示例
- SQL Epoch Time转Date用法及代码示例
- SQL VARCHAR转INT用法及代码示例
- SQL NOT用法及代码示例
- SQL IN用法及代码示例
- SQL NOT EQUAL用法及代码示例
- SQL IS NOT NULL用法及代码示例
- SQL IS NULL用法及代码示例
- SQL LIKE用法及代码示例
- SQL Server CHARINDEX()用法及代码示例
- SQL Server DIFFERENCE()用法及代码示例
- SQL Server IIF()用法及代码示例
- SQL Server ASCII()用法及代码示例
- SQL Server LOG()用法及代码示例
- SQL Server LOG10()用法及代码示例
- SQL Server ATN2()用法及代码示例
注:本文由纯净天空筛选整理自ankur035大神的英文原创作品 SQL Query to Convert Datetime to String。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。