Mysql日期相关语句
select curdate()-- 当前日期
,date_add(curdate(),interval -day(curdate())+1 day) -- 本月第一天
,last_day(curdate()) -- 本月最后一天
,date_add(date_add(curdate(),interval -day(curdate())+1 day),interval -1 month) -- 上月第一天
,date_add(curdate(),interval -1 month) -- 上月同期
Sql sever日期相关语句
SELECT getdate() -- 当前时间
,dateadd(mm,datediff(mm,0,getdate()),0) -- 本月第一天
,CONVERT(CHAR(10),dateadd(ms,-3,dateadd(mm,datediff(m,0,getdate())+1,0)),111) +' 23:59:59' -- 本月最后一天
,datediff(month,'2018-1-01',getdate()) -- 月份差
,dateadd(mm,datediff(mm,0,getdate()),0)-day(dateadd(mm,datediff(mm,0,getdate()),0)-1) -- 上月第一天
,dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0)) -- 上月最后一天
,dateadd(m,-1,getdate()) --上月同期
,dateadd(m,-1,dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0))) -- 上上月最后一天
,dateadd(m,-1,dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0)-day(dateadd(mm,datediff(mm,0,getdate()),0)-1))) -- 上上月第一天
主要区别:
1.函数区别:
①函数名——下划线区别
Mysql:date_add()
Sql sever:dateadd()
②参数区别:
Mysql:date_add(date,INTERVAL expr type)
Sql sever:dateadd(datepart,number,date)
实例:
select dateadd(d,2,'2019-09-01'),dateadd(d,-2,'2019-09-01')
或者
select dateadd(day,2,'2019-09-01'),dateadd(day,-2,'2019-09-01')
以上两句话效果一样
2.当前日期表示区别:
Mysql :curdate()
Sql sever:getdate()