淘先锋技术网

首页 1 2 3 4 5 6 7

ORACLE 中如何将日期中年月日截取到年月

1、创建测试表,create table test_date(v_date date);

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类字段,如何查询时截取年份?

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中如何获得日期中的年份?

以下列举两种方式在在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