sql 语句系列(月份的第一天和最后一天)[八百章之第二十章]
前言
插播一个,从给定日期值里面提取年月日时分秒。
之所以写这个是因为使用频率太高。
mysql:
select DATE_FORMAT(CURRENT_TIMESTAMP,'%k') hr,
DATE_FORMAT(CURRENT_TIMESTAMP,'%i') min,
DATE_FORMAT(CURRENT_TIMESTAMP,'%s') sec,
DATE_FORMAT(CURRENT_TIMESTAMP,'%d') dy,
DATE_FORMAT(CURRENT_TIMESTAMP,'%m') mon,
DATE_FORMAT(CURRENT_TIMESTAMP,'%y') yr
sql server:
select DATEPART(HOUR,getdate()) hr,
DATEPART(MINUTE,getdate()) min,
DATEPART(SECOND,getdate()) sec,
DATEPART(DAY,getdate()) dy,
DATEPART(MONTH,getdate()) mon,
DATEPART(YEAR,getdate()) yr
计算一个月的第一天和最后一天
mysql:
select DATE_ADD(CURRENT_DATE,INTERVAL -DAY(CURRENT_DATE)+1 DAY) fistday,
LAST_DAY(CURRENT_DATE) lastday
计算最后一天函数是LAST_DAY,计算第一天,是算的今天到这个月的第一天差多少天,然后减去,加一。
sql server:
select DATEADD(day,-day(GETDATE())+1,GETDATE()) firstday,
DATEADD(day,-DAY(GETDATE()),DATEADD(month,1,GETDATE())) lastday
计算第一天和msql一样原理。
计算最后一天,是在当前月份的基础上加一个月,然后减去今天到这个月的第一天差多少天。得出的就是这个月最后一个天。