📅  最后修改于: 2023-12-03 15:35:05.074000             🧑  作者: Mango
在SQL Server中,我们可以使用CAST
和CONVERT
函数将字符串转换为日期数据类型。以下是关于如何使用这些函数的详细信息。
使用CAST
函数将字符串转换为日期数据类型,语法如下:
CAST (expression AS data_type [ (length ) ] )
其中,expression
是要转换的表达式,可以是任何表示日期的字符串。data_type
可以是以下日期/时间数据类型之一:date
, datetime
, datetime2
, smalldatetime
, 和 time
。如果使用datetime
或datetime2
,可以使用可选的长度参数指定日期格式的精度。
以下是使用CAST
将字符串转换为日期的示例:
SELECT CAST('2021-06-21' AS date) AS ConvertedDate;
-- Output: ConvertedDate
-- ------------
-- 2021-06-21
SELECT CAST('2021-06-21 14:30:00' AS datetime) AS ConvertedDateTime;
-- Output: ConvertedDateTime
-- -------------------
-- 2021-06-21 14:30:00.000
CONVERT
函数与CAST
函数类似,但它具有更多的可选参数,例如指定日期格式的样式和区域设置。以下是使用CONVERT
将字符串转换为日期的基本语法:
CONVERT (data_type [ (length ) ] , expression [ , style ] )
其中,data_type
是要将字符串转换为的日期数据类型,length
是可选的数据长度参数。expression
是要转换的表达式,可以是任何表示日期的字符串,style
是可选的整数值,用于指定日期格式的样式。
以下是使用CONVERT
将字符串转换为日期的示例:
SELECT CONVERT(date, '2021-06-21') AS ConvertedDate;
-- Output: ConvertedDate
-- ------------
-- 2021-06-21
SELECT CONVERT(datetime, '2021-06-21 14:30:00') AS ConvertedDateTime;
-- Output: ConvertedDateTime
-- -------------------
-- 2021-06-21 14:30:00.000
SELECT CONVERT(datetime, '2021-06-21 14:30:00', 120) AS ConvertedDateTime;
-- Output: ConvertedDateTime
-- -------------------
-- 2021-06-21 14:30:00
在CONVERT
函数示例中,120
表示日期时间样式。有关日期时间样式的完整列表,请参阅Microsoft文档。
总之,使用CAST
和CONVERT
函数是将字符串转换为日期数据类型的常见方法。根据需要选择一个方法,并使用相应的参数来获取所需的结果。