假设@t中包含查询的日期值,查询为:select * from myTable where dateField between convert(varchar,@t,112) and convert(varchar,@t,112)+1注意,那种convert(varchar,dateField,110)的函数类查询条件会使你的查询速度降低1千倍。
or:select * from myTable where dateField>=convert(varchar,@t,112) and dateField<convert(varchar,@t+1,112)
insert @ values (1,'1','2009-01-05',4)
insert @ values (1,'2','2007-01-05',30)
insert @ values (1,'3','2003-01-05',40)
insert @ values (1,'4','2004-01-05',50)
select * from @ where CONVERT(varchar(10), 日期,120) = '2003-01-05'
CONVERT(varchar(10), StartDate,120) --不要时间2002-1-1
convert(char(8),date,112) ----20020101
select CONVERT(varchar(30), StartDate,120)---日期精确到分秒SELECT CONVERT(char(12), GETDATE(), 3)
此语句把当前日期转换为样式 3,dd/mm/yy。
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
--------
20021203select convert(varchar(10),getdate(),120)
----------
2002-12-03
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05