美文网首页
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