SqlServer 查询时日期格式化语句
SQLServer中文版的默认的日期字段datetime格式是yyyy-mm-ddThh:mm:ss.mmm
例如:
selectgetdate()2004-09-1211:06:08.177
整理了一下SQLServer里面可能经常会用到的日期格式转换方法:
举例如下:
selectCONVERT(varchar,getdate(),120)2004-09-1211:06:08 selectreplace(replace(replace(CONVERT(varchar,getdate(),120),'-',''),'',''),':','') 20040912110608 selectCONVERT(varchar(12),getdate(),111)2004/09/12 selectCONVERT(varchar(12),getdate(),112)20040912 selectCONVERT(varchar(12),getdate(),102)2004.09.12 selectCONVERT(varchar(12),getdate(),101)09/12/2004 selectCONVERT(varchar(12),getdate(),103)12/09/2004 selectCONVERT(varchar(12),getdate(),104)12.09.2004 selectCONVERT(varchar(12),getdate(),105)12-09-2004 selectCONVERT(varchar(12),getdate(),106)12092004 selectCONVERT(varchar(12),getdate(),107)0912,2004 selectCONVERT(varchar(12),getdate(),108)11:06:08 selectCONVERT(varchar(12),getdate(),109)091220041 selectCONVERT(varchar(12),getdate(),110)09-12-2004 selectCONVERT(varchar(12),getdate(),113)120920041 selectCONVERT(varchar(12),getdate(),114)11:06:08.177
Convert第三个参数,进行日期类型转化时的格式:
如Convert(Char(10), GetDate(), 111)
101 美国 mm/dd/yyyy
102 ANSI yy.mm.dd 103 英国/法国 dd/mm/yy
104 德国 dd.mm.yy
105 意大利 dd-mm-yy
106 - dd mon yy
107 - mon dd, yy
108 - hh:mm:ss
109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
110 美国 mm-dd-yy
111 日本 yy/mm/dd
112 ISO yymmdd
113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
114 - hh:mi:ss:mmm(24h)
120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
SqlServer中一个非常强大的日期格式化函数
SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AM SelectCONVERT(varchar(100),GETDATE(),1):05/16/06 SelectCONVERT(varchar(100),GETDATE(),2):06.05.16 SelectCONVERT(varchar(100),GETDATE(),3):16/05/06 SelectCONVERT(varchar(100),GETDATE(),4):16.05.06 SelectCONVERT(varchar(100),GETDATE(),5):16-05-06 SelectCONVERT(varchar(100),GETDATE(),6):160506 SelectCONVERT(varchar(100),GETDATE(),7):0516,06 SelectCONVERT(varchar(100),GETDATE(),8):10:57:46 SelectCONVERT(varchar(100),GETDATE(),9):0516200610:57:46:827AM SelectCONVERT(varchar(100),GETDATE(),10):05-16-06 SelectCONVERT(varchar(100),GETDATE(),11):06/05/16 SelectCONVERT(varchar(100),GETDATE(),12):060516 SelectCONVERT(varchar(100),GETDATE(),13):1605200610:57:46:937 SelectCONVERT(varchar(100),GETDATE(),14):10:57:46:967 SelectCONVERT(varchar(100),GETDATE(),20):2006-05-1610:57:47 SelectCONVERT(varchar(100),GETDATE(),21):2006-05-1610:57:47.157 SelectCONVERT(varchar(100),GETDATE(),22):05/16/0610:57:47AM SelectCONVERT(varchar(100),GETDATE(),23):2006-05-16 SelectCONVERT(varchar(100),GETDATE(),24):10:57:47 SelectCONVERT(varchar(100),GETDATE(),25):2006-05-1610:57:47.250 SelectCONVERT(varchar(100),GETDATE(),100):0516200610:57AM SelectCONVERT(varchar(100),GETDATE(),101):05/16/2006 SelectCONVERT(varchar(100),GETDATE(),102):2006.05.16 SelectCONVERT(varchar(100),GETDATE(),103):16/05/2006 SelectCONVERT(varchar(100),GETDATE(),104):16.05.2006 SelectCONVERT(varchar(100),GETDATE(),105):16-05-2006 SelectCONVERT(varchar(100),GETDATE(),106):16052006 SelectCONVERT(varchar(100),GETDATE(),107):0516,2006 SelectCONVERT(varchar(100),GETDATE(),108):10:57:49 SelectCONVERT(varchar(100),GETDATE(),109):0516200610:57:49:437AM SelectCONVERT(varchar(100),GETDATE(),110):05-16-2006 SelectCONVERT(varchar(100),GETDATE(),111):2006/05/16 SelectCONVERT(varchar(100),GETDATE(),112):20060516 SelectCONVERT(varchar(100),GETDATE(),113):1605200610:57:49:513 SelectCONVERT(varchar(100),GETDATE(),114):10:57:49:547 SelectCONVERT(varchar(100),GETDATE(),120):2006-05-1610:57:49 SelectCONVERT(varchar(100),GETDATE(),121):2006-05-1610:57:49.700 SelectCONVERT(varchar(100),GETDATE(),126):2006-05-16T10:57:49.827 SelectCONVERT(varchar(100),GETDATE(),130):18??????????142710:57:49:907AM SelectCONVERT(varchar(100),GETDATE(),131):18/04/142710:57:49:920AM
常用:
SelectCONVERT(varchar(100),GETDATE(),24):10:57:47 SelectCONVERT(varchar(100),GETDATE(),108):10:57:49 SelectCONVERT(varchar(100),GETDATE(),12):060516 SelectCONVERT(varchar(100),GETDATE(),23):2006-05-16 selectCONVERT(varchar(12),getdate(),112):20040912 SelectCONVERT(varchar(100),GETDATE(),8):10:57:46
例如:
convert(varchar(100),a.makedate,120)asmakedate
PS:下面给大家介绍SqlServer关于日期查询时,如果表中日期到具体某个时间
1.如果查询日期参数为'2017/02/21',而数据库表中的字段为'2017/02/2112:34:16.963',则需要格式化一下日期才能查询出来,如下
select*fromtabletwheret.datebetweenCONVERT(datetime,'2017/02/21',120)andCONVERT(datetime,'2017/02/21',120)+'23:59:59');
查询的范围为'2017/02/2100:00:00'~'2017/02/2123:59:59',这样就能解决问题。
2.或者使用dateadd方法,把日期加1天,如下
select*fromtabletwheret.date>=CONVERT(datetime,'2017/02/21')andt.date查询的范围为'2017/02/21'<=t.date<'2017/02/22',这样也能解决问题。
总结
以上所述是小编给大家介绍的SqlServer查询时日期格式化语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!