zoukankan      html  css  js  c++  java
  • mssql中常用的时间格式转换

    View Code
    1 sql server2000中使用convert来取得datetime数据类型样式(全)
    2
    3 日期数据格式的处理,两个示例:
    4
    5 CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/
    6
    7 CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/
    8
    9
    10 语句及查询结果:
    11 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
    12 Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
    13 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
    14 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
    15 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
    16 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
    17 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
    18 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
    19 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
    20 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
    21 Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
    22 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
    23 Select CONVERT(varchar(100), GETDATE(), 12): 060516
    24 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
    25 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
    26 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
    27 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
    28 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
    29 Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
    30 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
    31 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
    32 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
    33 Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
    34 Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
    35 Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
    36 Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
    37 Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
    38 Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
    39 Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
    40 Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
    41 Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
    42 Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
    43 Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
    44 Select CONVERT(varchar(100), GETDATE(), 112): 20060516
    45 Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
    46 Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
    47 Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
    48 Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
    49 Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
    50 Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
    51 Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
    52
    53 说明:
    54 使用 CONVERT:
    55
    56 CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
    57
    58 参数
    59 expression
    60
    61 是任何有效的 Microsoft® SQL Server™ 表达式。。
    62
    63 data_type
    64
    65 目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
    66 length
    67
    68 nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。
    69
    70 style
    71
    72 日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
    73
    74 SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。
    75
    76 在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。
    77
    78 不带世纪数位 (yy) 带世纪数位 (yyyy)
    79 标准
    80 输入/输出**
    81 - 0100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
    82 1 101 美国 mm/dd/yyyy
    83 2 102 ANSI yy.mm.dd
    84 3 103 英国/法国 dd/mm/yy
    85 4 104 德国 dd.mm.yy
    86 5 105 意大利 dd-mm-yy
    87 6 106 - dd mon yy
    88 7 107 - mon dd, yy
    89 8 108 - hh:mm:ss
    90 - 9109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
    91 10 110 美国 mm-dd-yy
    92 11 111 日本 yy/mm/dd
    93 12 112 ISO yymmdd
    94 - 13113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
    95 14 114 - hh:mi:ss:mmm(24h)
    96 - 20120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
    97 - 21121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
    98 - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
    99 - 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
    100 - 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM
    101
    102
    103 * 默认值(style 01009109131132012021121)始终返回世纪数位 (yyyy)。
    104 ** 当转换为 datetime时输入;当转换为字符数据时输出。
    105 *** 专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1
    106 ****Hijri 是具有几种变化形式的日历系统,Microsoft® SQL Server™ 2000 使用其中的科威特算法。
    107
    108
    109
    110 重要 默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。
    111
    112
    113 当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 char 或 varchar 数据类型长度来截断不需要的日期部分。
    本博客来自http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599690.html,呵呵,谢谢分享
  • 相关阅读:
    题解 CF171G 【Mysterious numbers
    题解 P1157 【组合的输出】
    题解 P3955 【图书管理员】
    题解 P2036 【Perket】
    题解 CF837A 【Text Volume】
    题解 CF791A 【Bear and Big Brother】
    题解 CF747A 【Display Size】
    题解 P1332 【血色先锋队】
    题解 P2660 【zzc 种田】
    题解 P4470 【[BJWC2018]售票】
  • 原文地址:https://www.cnblogs.com/wsl2011/p/2089389.html
Copyright © 2011-2022 走看看