
也可以:
select DATEDIFF (month,日期1,日期2 ), * from 查询表 where DATEDIFF (month,日期1,日期2 ) <1
注释:
1、DATEDIFF (DAY ,日期1,日期2 ) 是取得两个日期直接的天数;DATEDIFF (DAY ,日期1,日期2 )<=30 一个月以30天计算的。
2、DATEDIFF (month,日期1,日期2 ) 是取得两个日期直接的天数;DATEDIFF (month,日期1,日期2 )<1
用to_char函数即可。
如emp表中数据如下:
要查询hiredate的日期为1981年1月1日到1981年5月1日之间的数据,可用如下语句:
select * from emp where to_char(hiredate,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01'查询结果:
with t1(d) as (select cast('2013-12-02' as datetime)
union all select cast('2014-1-10' as datetime)
),
t2(d) as (
select dateadd(mm, datediff(mm, 0, getdate()), 0)
) --月初
select t1.*
from t1 join t2 on t1.d between t2.d and t2.d+31-day(t2.d+31) --月初到月末
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)