varchar格式的列:TIME保存的数据格式是:2009-01-29T23:45:23.0
搜索结果要求转化成:29/01/2009 23:45:23.0 格式;还要求反向转换:29/01/2009 23:45:23.0 转换成2009-01-29T23:45:23.0请问怎样写SELECT语句呢?谢谢!

解决方案 »

  1.   

    可以参考帮助
    比如 convert(varchar(20),121,'dd/mm/yyyy hh:mm:ss fff')
    凭印象写的
      

  2.   

    select Convert(varchar(20),getdate(),103)
    第一个貌似转换自己加个格式第二个转换用126格式 
    select Convert(varchar(20),getdate(),126)
      

  3.   

    create table TB(time varchar(50))
    goinsert into TB
    select '2009-01-29T23:45:23.0'select * from TBselect convert(datetime,[time]) from TB   --2009-01-29 23:45:23.000
    select convert(varchar(20),convert(datetime,[time]),126) From TB  --2009-01-29T23:45:23
      

  4.   

    SELECT CONVERT(NVARCHAR(36),GETDATE(),131)
    SELECT CONVERT(NVARCHAR(36),GETDATE(),127)
      

  5.   

    select Convert(varchar(20),getdate(),102)
      

  6.   

    如上面所说的用convert,对于其中的有的是102,有的是127,131等等,你查下对应的sql帮助,没一个编号都对应一种格式。
      

  7.   

    book online 上有相关的说明,你搜索convert或者cast就可以看到了。
      

  8.   

    看联机帮助: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 
      

  9.   

    convet(varchar(20),'dd/mm/yyyy hh:mm:ss fff')
      

  10.   

    在下表中,左侧的两列表示将 datetime 或 smalldatetime 数据转换为字符数据的 style 值。将 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。 不带世纪数位 (yy) (1)  带世纪数位 (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/yy
     
    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:mm: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
     
    -
     13 或 113 (1, 2) 
     欧洲默认设置 + 毫秒
     dd mon yyyy hh:mm: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:mm:ss.mmm(无空格)
     
     127(6)
     带时区 Z 的 ISO8601。
     yyyy-mm-ddThh:mm:ss.mmmZ (无空格)
     
    -
     130 (1, 2)
     回历 (5)
     dd mon yyyy hh:mi:ss:mmmAM
     
    -
     131 (2)
     回历 (5)
     dd/mm/yy hh:mi:ss:mmmAM
     
      

  11.   

    关于convert 第三个参数,可以参考
    http://www.w3school.com.cn/sql/func_convert.asp