• 欢迎访问交通人网站!
  • 分享一款小游戏:信任的进化
  •    发表于9年前 (2016-03-01)  热点资讯 |   抢沙发  352 
    文章评分 1 次,平均分 5.0
    [收起] 文章目录

    在SQL中,常涉及时间类型的数据操作,常用的两个函数是CONVERT()和SUBSTRING(),前者是将时间类型数据转化为字符串,后者则是对字符串进行截取。

    CONVERT()

    格式:CONVERT(data_type(length),data_to_be_converted,style)

    其中:data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

    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*/

    SUBSTRING()

    格式:SUBSTRING(str,pos,len)

    其中,str为原字符串,pos为起始位置,len为截取长度。

    Select SUBSTRING(CONVERT(varchar(100), GETDATE(), 120),1,10)
    /*输出:2006-05-16*/
     

    除特别注明外,本站所有文章均为交通人原创,转载请注明出处来自http://www.hijtr.com/sql-datetime/

    交通人博客是交通人工作室(JTR Studio)建立的交通人系列网站之一,是交通人工作室的主阵地,旨在整合和分享交通行业相关资讯,具体包括但不限于行业新闻、行业动态,以及行业相关规范、书籍、报告和软件等资源。

    发表评论

    表情 格式

    暂无评论

    
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享