SQL Server函数CONVERT–日期时间格式转换
作者:mmseoamin日期:2023-12-21

SQL Server函数CONVERT–日期时间格式转换

目录

  • SQL Server函数CONVERT–日期时间格式转换
    • 一、CONVERT()函数
    • 二、CONVERT函数作用(日期方面)
    • 三、CONVERT不同类型举例

      一、CONVERT()函数

      语法:

      convert(data_type(length),expression,style)
      

      1.值描述

      1. data_type(length) 规定目标数据类型(带有可选的长度)。
      2. expression 规定需要转换的值。
      3. style 规定日期/时间的输出格式。

      2.cast()和convert()函数比较

      1. cast一般更容易使用,convert的优点是可以格式化日期和数值;
      2. convert一般用于日期和时间类型以及小数之间转换,而cast一般用于小数转数值和字符型;
      3. convert只是显示转换,而cast是强制转换。

      二、CONVERT函数作用(日期方面)

      • 1、把日期转换为新数据类型
      • 2、用不同的格式显示日期/时间数据

        三、CONVERT不同类型举例

        • 1.日期类型转换
          SELECT CONVERT(VARCHAR(100), GETDATE(), 0); -- 05  7 2023  4:47PM
          SELECT CONVERT(VARCHAR(100), GETDATE(), 1); -- 05/07/23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 2); -- 23.05.07
          SELECT CONVERT(VARCHAR(100), GETDATE(), 3); -- 07/05/23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 4); -- 07.05.23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 5); -- 07-05-23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 6); -- 07 05 23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 7); -- 05 07, 23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 8); -- 16:49:11
          SELECT CONVERT(VARCHAR(100), GETDATE(), 9); -- 05  7 2023  4:49:19:600PM
          SELECT CONVERT(VARCHAR(100), GETDATE(), 10); -- 05-07-23
          SELECT CONVERT(VARCHAR(100), GETDATE(), 11); -- 23/05/07
          SELECT CONVERT(VARCHAR(100), GETDATE(), 12); -- 230507
          SELECT CONVERT(VARCHAR(100), GETDATE(), 13); -- 07 05 2023 16:50:24:677
          SELECT CONVERT(VARCHAR(100), GETDATE(), 14); -- 16:50:33:957
          SELECT CONVERT(VARCHAR(100), GETDATE(), 20); -- 2023-05-07 16:50:51
          SELECT CONVERT(VARCHAR(100), GETDATE(), 21); -- 2023-05-07 16:51:00.680
          SELECT CONVERT(VARCHAR(100), GETDATE(), 22); -- 05/07/23  4:51:11 PM
          SELECT CONVERT(VARCHAR(100), GETDATE(), 23); -- 2023-05-07
          SELECT CONVERT(VARCHAR(100), GETDATE(), 24); -- 16:51:28
          SELECT CONVERT(VARCHAR(100), GETDATE(), 25); -- 2023-05-07 16:51:38.537
          SELECT CONVERT(VARCHAR(100), GETDATE(), 100); -- 05  7 2023  4:51PM
          SELECT CONVERT(VARCHAR(100), GETDATE(), 101); -- 05/07/2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 102); -- 2023.05.07
          SELECT CONVERT(VARCHAR(100), GETDATE(), 103); -- 07/05/2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 104); -- 07.05.2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 105); -- 07-05-2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 106); -- 07 05 2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 107); -- 05 07, 2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 108); -- 16:53:12
          SELECT CONVERT(VARCHAR(100), GETDATE(), 109); -- 05  7 2023  4:53:21:720PM
          SELECT CONVERT(VARCHAR(100), GETDATE(), 110); -- 05-07-2023
          SELECT CONVERT(VARCHAR(100), GETDATE(), 111); -- 2023/05/07
          SELECT CONVERT(VARCHAR(100), GETDATE(), 112); -- 20230507
          SELECT CONVERT(VARCHAR(100), GETDATE(), 113); -- 07 05 2023 16:54:00:690
          SELECT CONVERT(VARCHAR(100), GETDATE(), 114); -- 16:54:10:123
          SELECT CONVERT(VARCHAR(100), GETDATE(), 120); -- 2023-05-07 16:54:18
          SELECT CONVERT(VARCHAR(100), GETDATE(), 121); -- 2023-05-07 16:54:30.230
          SELECT CONVERT(VARCHAR(100), GETDATE(), 126); -- 2023-05-07T16:54:30.230
          SELECT CONVERT(VARCHAR(100), GETDATE(), 130); -- 17 ???? 1444  4:54:30:230PM
          SELECT CONVERT(VARCHAR(100), GETDATE(), 131); -- 17/10/1444  4:54:30:230PM
          
          • 2.其它类型转换
            SELECT CONVERT(VARCHAR(100), 123); --123 数字转字符串
            等同于
            SELECT CAST(123 AS VARCHAR(100)); --123 数字转字符串