当前位置:首页 » 编程语言 » sql取当月第一天

sql取当月第一天

发布时间: 2022-07-14 06:44:36

A. sql server 怎么查询当月第一天和最后一天,下月第一天与下月最后一天

selectcast(dateadd(day,-day(getdate())+1,getdate())asdate)当月第一天,
cast(dateadd(day,-1,datename(year,dateadd(month,1,getdate()))+datename(month,dateadd(month,1,getdate()))+'01')asdate)当月最后一天,
cast(datename(year,dateadd(month,1,getdate()))+datename(month,dateadd(month,1,getdate()))+'01'asdate)下月第一天,
cast(dateadd(day,-1,datename(year,dateadd(month,2,getdate()))+datename(month,dateadd(month,2,getdate()))+'01')asdate)下月最后一天

B. SQL中,怎么取当月第一天。

如:给定的年月格式为20157,代表2015年7月。

取某月第一天:

SELECTCAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01')ASDATETIME)

结果:

C. sql如何获取日期月份的第一天

如:给定的年月格式为20157,代表2015年7月。

取某月第一天:

SELECTCAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01')ASDATETIME)

结果:

D. sql如何取某年某月的第一天和最后一天

SELECT CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)--第一天

SELECT DATEADD(DAY,-1,DATEADD(MONTH,1,CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)))--最后一天

原理:第一天肯定是1号拉,最后一天是下个月第一天减一天。

本月第一天

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate()), 0)) as mouthlastdate

下月第一天:

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate

下下月第一天:

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+2, 0)) as mouthlastdate

(4)sql取当月第一天扩展阅读

sqlserver 时间格式函数详细

--getdate 获取当前时间

select getdate()

--dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月

select dateadd(MONTH,12,'2013-02-17 13:20:16') --返回:2014-02-17 13:20:16.000 (参数month可以改为 day,year等日期加相应的值)

--datediff 两个时间的差 (后面-前面=返回值)

select datediff(day,'2013-02-01','2013-02-18') --返回:17 (参数day可以改为 month,year等日期加相应的值)

--datepart 获取日期的某个部分整数

select DATEPART(month, '2013-2-17') --返回 2 (参数month可以改为 day,year等日期加相应的值)

--datename 获取指定部位的字符串

select datename(weekday, '2013-2-17') --返回 星期日 (参数weekday可以改为 day,year等日期加相应的值)

--day(), month(),year() 获取指定部位的字符串

select day('2013-2-15') --返回15

E. 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)

--当月天数
select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0)))
---当月第一天
select dateadd(d,-day(getdate())+1,getdate())
---当月最后一天
select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))
--本年最后一天
select dateadd(d,-day(getdate()),dateadd(m,12,getdate()))
--当月第一个星期一
SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '')

F. sql 语句 怎么获取指定月的第一天和最后一天

first_day()得到一个月中的第一天:如first_day(to_date('2008-5-22','yyyy-mm-dd')) 结果:2008-5-1
last_day()得到一个月最后的一天:如:last_day(to_date('2008-5-22','yyyy-mm-dd')) 结果:2008-5-31 ;

G. sql 如何取当季最后一个月的第一天

oracle(本季度第一天+两个月=本季度最后一个月第一天)
SELECT to_char(add_months(TRUNC(SYSDATE, 'Q'), 2), 'YYYY-MM-DD') FROM al;
sqlserver:还是先找到当前季度的第一天然后加两个月
Select DATEADD(mm,2,DATEADD(qq, DATEDIFF(qq,0,getdate()), 0))

mysql:想不出来,mysql的函数很多都是关于天的,而且太久没用,差不多都还给书本了。

其实也可以用case when来写,首先判断当前时间是第几季度,然后用case when来写,等于1就是3.1,等于2就是6.1,以此类推,这个应该不算很麻烦,判断三次,就可以了。

H. sql 获取当前月的第一天

DATEDIFF(mm,0,getdate())用来计算出“0”和当前日期所相差的月份数,比如说相差10个月。
DATEADD (mm,x,0)
在0日期的基础上,加上x个月。
那么就相当于把去掉了日期,只留下了月份,也就是当前月份了。没有日期,也就是第一天的0点了。

热点内容
怎样编程选股 发布:2025-02-02 08:22:02 浏览:415
电脑web应用服务器 发布:2025-02-02 08:05:31 浏览:811
电脑存储内存多少合适 发布:2025-02-02 08:00:15 浏览:110
登录界面android 发布:2025-02-02 07:53:23 浏览:841
编译时注解与运行时注解 发布:2025-02-02 07:53:14 浏览:818
怎样登陆ftp 发布:2025-02-02 07:44:44 浏览:637
疯狂点击脚本 发布:2025-02-02 07:38:10 浏览:73
pss算法 发布:2025-02-02 07:30:55 浏览:748
发信息脚本 发布:2025-02-02 07:03:07 浏览:741
l2l3缓存 发布:2025-02-02 06:56:47 浏览:524