• SQL 使用CONVERT函数 格式化日期


    将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。

     

    CAST 语法:

    CAST    (expression AS data_type [ (length ) ] )
     

    CONVERT 语法:

    CONVERT (data_type [ (length ) ] ,expression [ ,style ] )

     

    参数

    expression

    任何有效的表达式

    data_type

    目标数据类型。这包括 xml、bigint 和 sql_variant。不能使用别名数据类型。有关可用数据类型的详细信息,请参阅数据类型 (Transact-SQL)

    length

    指定目标数据类型长度的可选整数。默认值为 30。

    style

    指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。有关详细信息,请参阅“备注”部分。

    返回类型

        返回转换为 data_type 的 expression。

    Date 和 Time 样式

    如果 expression 为 date 或 time 数据类型,则 style 可以为下表中显示的值之一。其他值作为 0 进行处理。SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。

    ——————————————————————————————————————————————————————————————————————————————————

    不带世纪数位 (yy)

    带世纪数位 (yyyy) 标准 输入/输出 (3)
    0 或 100 (1,2) 默认

    mon dd yyyy hh:miAM(或 PM)

    1 101 美国

    mm/dd/yyyy

    2 102 ANSI

    yy.mm.dd

    3 103 英国/法国

    dd/mm/yyyy

    4 104 德国

    dd.mm.yy

    5 105 意大利

    dd-mm-yy

    6 106 (1)

    dd mon yy

    7 107 (1)

    mon dd, yy

    8 108

    hh:mi:ss

    9 或 109 (1,2) 默认设置 + 毫秒

    mon dd yyyy hh:mi:ss:mmmAM(或 PM)

    10 110 美国

    mm-dd-yy

    11 111 日本

    yy/mm/dd

    12 112 ISO

    yymmdd

    yyyymmdd

    13 或 113 (1,2) 欧洲默认设置 + 毫秒

    dd mon yyyy hh:mi:ss:mmm(24h)

    14 114

    hh:mi:ss:mmm(24h)

    20 或 120 (2) ODBC 规范

    yyyy-mm-dd hh:mi:ss(24h)

    21 或 121 (2) ODBC 规范(带毫秒)

    yyyy-mm-dd hh:mi:ss.mmm(24h)

    126 (4) ISO8601

    yyyy-mm-ddThh:mi:ss.mmm(无空格)

    127(6, 7) 带时区 Z 的 ISO8601。

    yyyy-mm-ddThh:mi:ss.mmmZ(无空格)

    130 (1,2) 回历 (5)

    dd mon yyyy hh:mi:ss:mmmAM

    131 (2) 回历 (5) dd/mm/yy hh:mi:ss:mmmAM

    ——————————————————————————————————————————————————————————————————————————————————

     

    1 这些样式值将返回不确定的结果。包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。

    2 默认值(style010091091311320120 以及 21121)始终返回世纪数位 (yyyy)。

    3 转换为 datetime 时输入;转换为字符数据时输出。

    4 为用于 XML 而设计。对于从 datetime 或 smalldatetime 到字符数据的转换,其输出格式如上一个表所述。

    5 回历是有多种变体的日历系统。SQL Server 使用科威特算法。

    -- 默认
    -- mm dd yyyy hh:mmPM/AM
    SELECT CONVERT(varchar(100),GETDATE());
     
    SELECT CONVERT(varchar(100),GETDATE(),0);
     
    SELECT CONVERT(varchar(100),GETDATE(),100);
    --
    -- 美国
    -- mm/dd/yy
    SELECT CONVERT(varchar(100),GETDATE(),1);
    -- mm/dd/yyyy
    SELECT CONVERT(varchar(100),GETDATE(),101);
    --
    -- ANSI
    -- yyyy.mm.dd
    SELECT CONVERT(varchar(100),GETDATE(),2);
    -- yy.mm.dd
    SELECT CONVERT(varchar(100),GETDATE(),102);
    --
    -- 英国 / 法国
    -- dd/mm/yy
    SELECT CONVERT(varchar(100),GETDATE(),3);
    -- dd/mm/yyyy
    SELECT CONVERT(varchar(100),GETDATE(),103); 
    --
    -- 德国
    -- dd.mm.yy
    SELECT CONVERT(varchar(100),GETDATE(),4);
    -- dd.mm.yyyy
    SELECT CONVERT(varchar(100),GETDATE(),104); 
    --
    -- 意大利
    -- dd-mm-yy
    SELECT CONVERT(varchar(100),GETDATE(),5);
    -- dd-mm-yyyy
    SELECT CONVERT(varchar(100),GETDATE(),105); 
     
    -- 
    -- dd mm yy
    SELECT CONVERT(varchar(100),GETDATE(),6);
    -- dd mm yyyy
    SELECT CONVERT(varchar(100),GETDATE(),106); 
     
    --
    -- mm dd, yy
    SELECT CONVERT(varchar(100),GETDATE(),7);
    -- mm dd, yyyy
    SELECT CONVERT(varchar(100),GETDATE(),107); 
     
    --
    -- mon dd yyyy hh:mi:ss:mmmAM(或 PM)
    SELECT CONVERT(varchar(100),GETDATE(),9);
     
    SELECT CONVERT(varchar(100),GETDATE(),109); 
    --
    -- 美国
    -- mm-dd-yy
    SELECT CONVERT(varchar(100),GETDATE(),10);
    -- mm-dd-yyyy
    SELECT CONVERT(varchar(100),GETDATE(),110); 
    --
    -- 日本
    -- yy/mm/dd
    SELECT CONVERT(varchar(100),GETDATE(),11);
    -- yyyy/mm/dd
    SELECT CONVERT(varchar(100),GETDATE(),111); 
    --
    -- ISO
    -- yymmdd
    SELECT CONVERT(varchar(100),GETDATE(),12);
    -- yyyymmdd
    SELECT CONVERT(varchar(100),GETDATE(),112); 
    --
    -- 欧洲默认设置 + 毫秒
    -- dd mon yyyy hh:mi:ss:mmm(24h)
    SELECT CONVERT(varchar(100),GETDATE(),13);
     
    SELECT CONVERT(varchar(100),GETDATE(),113); 
     
    --
    -- hh:mi:ss:mmm(24h)
    SELECT CONVERT(varchar(100),GETDATE(),14);
     
    SELECT CONVERT(varchar(100),GETDATE(),114); 
    --
    -- ODBC 规范
    -- yyyy-mm-dd hh:mi:ss(24h)
    SELECT CONVERT(varchar(100),GETDATE(),20);
     
    SELECT CONVERT(varchar(100),GETDATE(),120); 
    --
    -- ODBC 规范(带毫秒)
    -- yyyy-mm-dd hh:mi:ss.mmm(24h)
    SELECT CONVERT(varchar(100),GETDATE(),21);
     
    SELECT CONVERT(varchar(100),GETDATE(),121); 
    --
    -- ISO8601
    -- yyyy-mm-ddThh:mi:ss.mmm(无空格)
    SELECT CONVERT(varchar(100),GETDATE(),126);
    --
    -- 带时区 Z 的 ISO8601。
    -- yyyy-mm-ddThh:mi:ss.mmmZ(无空格)
    SELECT CONVERT(varchar(100),GETDATE(),127);
    --
    -- 回历 (5)
    -- dd mon yyyy hh:mi:ss:mmmAM
    SELECT CONVERT(varchar(100),GETDATE(),130);
    --
    -- 回历 (5)
    -- dd/mm/yy hh:mi:ss:mmmAM
    SELECT CONVERT(varchar(100),GETDATE(),131);
  • 相关阅读:
    关系运算符重载
    一元运算符重载
    二元运算符重载
    重载函数和重载运算符
    Linux之文件通信
    Linux进程通信之mmap
    Linux之创建多个子进程
    内联函数
    静态成员
    this指针
  • 原文地址:https://www.cnblogs.com/bobbychencj/p/2023477.html
Copyright © 2020-2023  润新知