美文网首页
SQL Server中日期格式的转换

SQL Server中日期格式的转换

作者: 愤怒的阿昆达 | 来源:发表于2020-03-12 16:32 被阅读0次

1、将字符串转换成日期

SELECT CONVERT(DATETIME,'2018-10-03',120);            --输出结果:2018-10-03 00:00:00.000
SELECT CONVERT(DATETIME,'2018-10-03 15:38:48',120);   --输出结果:2018-10-03 15:38:48.000

2、ISDATE(expression) 函数,判断是否日期格式

SELECT ISDATE('2018-10-03');   --输出结果:1
SELECT ISDATE(NULL);           --输出结果:0

实例:判断字符串是否日期格式,如果是则转换成日期,否则返回NULL

BEGIN
    DECLARE @StrDate NVARCHAR(20) = '2018-10-03';
 
    SELECT CASE ISDATE(@StrDate)
            WHEN 1 THEN CONVERT(DATETIME,@StrDate,120)
            ELSE NULL END;
END;

3、将日期转换成字符串

--字符串格式:yyyy-MM
SELECT CONVERT(VARCHAR(7),GETDATE(),120);
 
--字符串格式:yyyy-MM-dd
SELECT CONVERT(VARCHAR(10),GETDATE(),120);
 
--字符串格式:yyyy-MM-dd HH:mm:ss
SELECT CONVERT(VARCHAR(19),GETDATE(),120);

其它语句及查询结果:

SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006
SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

原文链接:https://blog.csdn.net/pan_junbiao/article/details/82930852

相关文章

网友评论

      本文标题:SQL Server中日期格式的转换

      本文链接:https://www.haomeiwen.com/subject/aoxmjhtx.html