sqlserver 时间转换

系统 1460 0
      
        sql server2000中使用convert来取得datetime数据类型样式(全)



日期数据格式的处理,两个示例:



CONVERT(varchar(
      
      
        16
      
      ), 时间一, 
      
        20
      
      ) 结果:
      
        2007
      
      -
      
        02
      
      -
      
        01
      
      
        08
      
      :
      
        02
      
      
        /*
      
      
        时间一般为getdate()函数或数据表里的字段
      
      
        */
      
      
        



CONVERT(varchar(
      
      
        10
      
      ), 时间一, 
      
        23
      
      ) 结果:
      
        2007
      
      -
      
        02
      
      -
      
        01
      
      
        /*
      
      
        varchar(10)表示日期输出的格式,如果不够长会发生截取
      
      
        */
      
      
        





语句及查询结果:

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
      
      -
      
        05
      
      -
      
        16
      
      
        10
      
      :
      
        57
      
      :
      
        49.700
      
      
        

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



说明:

使用 CONVERT:



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



参数

expression



是任何有效的 Microsoft® SQL Server™ 表达式。。 



data_type



目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。

length



nchar、nvarchar、
      
      
        char
      
      
        、varchar、binary 或 varbinary 数据类型的可选参数。 



style



日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、
      
      
        char
      
      、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 
      
        float
      
      、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、
      
        char
      
      
        、varchar、nchar 或 nvarchar 数据类型)。



SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。



在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 
      
      
        100
      
      
        ,可获得包括世纪数位的四位年份 (yyyy)。



不带世纪数位 (yy) 带世纪数位 (yyyy) 

标准 

输入
      
      /输出** 

- 
      
        0
      
        100
      
       (*
      
        ) 默认值 mon dd yyyy hh:miAM(或 PM) 


      
      
        1
      
      
        101
      
       美国 mm/dd/
      
        yyyy 


      
      
        2
      
      
        102
      
      
         ANSI yy.mm.dd 


      
      
        3
      
      
        103
      
       英国/法国 dd/mm/
      
        yy 


      
      
        4
      
      
        104
      
      
         德国 dd.mm.yy 


      
      
        5
      
      
        105
      
       意大利 dd-mm-
      
        yy 


      
      
        6
      
      
        106
      
       -
      
         dd mon yy 


      
      
        7
      
      
        107
      
       -
      
         mon dd, yy 


      
      
        8
      
      
        108
      
       -
      
         hh:mm:ss 


      
      - 
      
        9
      
        109
      
       (*) 默认值 +
      
         毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) 


      
      
        10
      
      
        110
      
       美国 mm-dd-
      
        yy 


      
      
        11
      
      
        111
      
       日本 yy/mm/
      
        dd 


      
      
        12
      
      
        112
      
      
         ISO yymmdd 


      
      - 
      
        13
      
        113
      
       (*) 欧洲默认值 +
      
         毫秒 dd mon yyyy hh:mm:ss:mmm(24h) 


      
      
        14
      
      
        114
      
       -
      
         hh:mi:ss:mmm(24h) 


      
      - 
      
        20
      
        120
      
       (*) ODBC 规范 yyyy-mm-
      
        dd hh:mm:ss[.fff] 


      
      - 
      
        21
      
        121
      
       (*) ODBC 规范(带毫秒) yyyy-mm-
      
        dd hh:mm:ss[.fff] 


      
      - 
      
        126
      
      (***) ISO8601 yyyy-mm-
      
        dd Thh:mm:ss.mmm(不含空格) 


      
      - 
      
        130
      
      * Hijri****
      
         dd mon yyyy hh:mi:ss:mmmAM 


      
      - 
      
        131
      
      * Hijri**** dd/mm/
      
        yy hh:mi:ss:mmmAM 






      
      * 默认值(style 
      
        0
      
        100
      
        9
      
        109
      
        13
      
        113
      
        20
      
        120
      
        21
      
        121
      
      
        )始终返回世纪数位 (yyyy)。


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


      
      *** 专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 
      
        float
      
      、money 或 smallmoney 到 character 数据的转换,输出等同于 style 
      
        2
      
      。对于从 real 到 character 数据的转换,输出等同于 style 
      
        1
      
      
      ****Hijri 是具有几种变化形式的日历系统,Microsoft® SQL Server™ 
      
        2000
      
      
         使用其中的科威特算法。







重要 默认情况下,SQL Server 根据截止年份 
      
      
        2049
      
       解释两位数字的年份。即,两位数字的年份 
      
        49
      
       被解释为 
      
        2049
      
      ,而两位数字的年份 
      
        50
      
       被解释为 
      
        1950
      
      。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 
      
        2030
      
       作为截止年份。SQL Server 提供一个配置选项(
      
        "
      
      
        两位数字的截止年份
      
      
        "
      
      
        ),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。





当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 
      
      
        char
      
       或 varchar 数据类型长度来截断不需要的日期部分。
    

 

sqlserver 时间转换


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论