重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以先把日期类型通过 TO_CHAR方法转换为字符串,之后在进行月份查询。
从事西信服务器托管,服务器租用,云主机,虚拟空间,域名注册,CDN,网络代维等服务。
sql:select * from tablename WHERE TO_CHAR( dateTime, 'YYYY-MM') = '2015-06';
解释:以上语句就是查询查2015年06月份的所有数据记录。
ORACLE中怎样得到两个日期间的月数
months_between(第一个日期,第二个日期) 计算的是第一个日期减去第二个日期的月份,反之得到的是负的月份
SQL select months_between(date'2014-04-23',date'2013-04-23') days from dual;
DAYS
----------
12
SQL
拿这个改一下你要的吧
select
to_char( add_months( to_date( '2022-03-11 14:56:09', 'yyyy-mm-dd hh24:mi:ss' ), ( rownum - 1 ) ), 'yyyy-mm' ) mohtn_id
from
dual connect by rownum = months_between( trunc( to_date( '2022-08-11 14:56:18', 'yyyy-mm-dd hh24:mi:ss' ), 'month' ), trunc( to_date( '2022-03-11 14:56:09', 'yyyy-mm-dd hh24:mi:ss' ), 'month' ) ) + 1;
sqlserver:
select convert(varchar(7),dateadd(mm,-t.number,getdate()),120)
from
(select number from master..spt_values where type='P') t
where year(dateadd(mm,-t.number,getdate()))=year(getdate())
order by convert(varchar(7),dateadd(mm,-t.number,getdate()),120)
oracle:
select to_char(add_months(sysdate, -t.rn), 'yyyy-mm')
from dual a, (select rownum - 1 rn from dual connect by rownum = 12) t
where to_char(add_months(sysdate, -t.rn), 'yyyy') =
to_char(sysdate, 'yyyy')
order by to_char(add_months(sysdate, -t.rn), 'yyyy-mm')
select ADD_MONTHS(to_date('2012-01-01','yyyy-mm-dd'),1) FROM dual;
这是在20120101号是加上一个月
select to_date('2012-01-01','yyyy-mm-dd')+60 FROM dual;
这是加了60天
以下列举两种方式在在Oracle中获得日期中的年份,例如把sysdate中的年份取出来。
1、Select to_number(to_char(sysdate,'yyyy')) from dual
实例代码:
select
to_number(to_char(t.hiredate,'yyyy'))as 入职年,
from emp t;
运行结果:
2、使用Extract函数,Select Extract(year from sysdate) from dual,这种方法省掉了类型转换,
看上去更加简洁。此方法获得的结果,是数值型
实例代码:
select
extract(year from t.hiredate) as入职年,
from emp t ;
运行结果:
扩展资料:
如果想在Oracle中获取日期中的月份,天数。可以将Select to_number(to_char(sysdate,'yyyy'))
from dual改为Select to_number(to_char(sysdate,'MM')) from dual和Select
to_number(to_char(sysdate,'DD')) from dual。
Extract函数中只需将Select Extract(month from sysdate) from dual改为Select Extract(year from sysdate) from dual和Select Extract(day from sysdate) from dual