重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、创建测试表,create table test_date(v_date date);
我们提供的服务有:成都网站制作、成都做网站、微信公众号开发、网站优化、网站认证、通海ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的通海网站制作公司
2、插入测试数据,
insert into test_date
select sysdate - level * 10 from dual connect by level 100
3、查询表中所有记录,select * from test_date,可以看到时间格式为年月日时分秒,
4、编写sql,将时间截取到年月,
select t.*,
to_char(v_date, 'yyyymm') v_date_mon1,
trunc(v_date, 'mm') v_date_mon2
from TEST_DATE t
oracle中的date类型字段,截取年份可用to_char函数。
工具:oracle 10g
步骤:
1、如emp表中有hiredate字段为date类型的数据。
2、截取其中的年份部分,用如下语句:
select empno,ename,job,mgr,to_char(hiredate,'yyyy'),sal,comm,deptno from emp;
3、运行后结果,可以看出年份已将截取出来了:
以下列举两种方式在在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