在SQL中,日期类型DateTime的默认格式就是yyyy-mm-dd hh:mi:ss: mmm,仍然大多数情况下我们只想得到它的日期部分,而不要后面的时间部分。
那么如何取得不包含时间的日期呢?比如要获取日期时间:2010-9-2 11:34:52中的2010-9-2,可使用如下方法。
只需要使用Convert()函数就足够了,下面是方法,希望对您有所帮助。
select convert(char(10),GetDate(),120) as Date
参数中的第3个参数就是用来设置日期类型数据的显示样式的,下面介绍几种样式的参数:
100:mm dd yyyy
101:mm/dd/yyyy
102:yyyy.mm.dd
103:dd/mm/yyyy
106:dd mm yyyy
108:hh:mi:ss(时间)
111:yyyy/mm/dd
112:yyyymmdd
120:yyyy-mm-dd
现在,我们应该明白了,用这种方法获得日期部分将会更加方便,与这种方法比较Datename()函数的好处就是在于得到日期的具体部分。
知识扩展:
比如,您想获取SQL数据库字段中的日期,可以这样来获取:
假如,SQL某数据表中有一个字段的名称是:MyDateTime
那么,我们就这样来获取:
select convert(char(10),MyDateTime,120) as MyDate from MyTable
当然,如何要想获取当天日期之前的数据,而不需要当前日期之后的数据,可以这样来获取:
select id,Aritle,convert(char(10),MyDateTime,120) as MyDate,FORMAT(Now(),'YYYY-MM-DD') as MyNowDate from MyTable where MyDate<=MyNowDate
这样,上述的语句功能,返回的是日期小于等于今天的记录;如果日期大于今天的记录,将不返回。