十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
oracle中的date类型字段,截取年份可用to_char函数。
我们提供的服务有:做网站、成都网站设计、微信公众号开发、网站优化、网站认证、淇县ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的淇县网站制作公司
工具:oracle 10g
步骤:
1、如emp表中有hiredate字段为date类型的数据。
2、截取其中的年份部分,用如下语句:
select empno,ename,job,mgr,to_char(hiredate,'yyyy'),sal,comm,deptno from emp;
3、运行后结果,可以看出年份已将截取出来了:
1、首先打开SQL SERVER管理工具,然后选择一个数据库,单击新查询。
2、接下来在查询窗口中输入以下SQL语句,如下图所示,将通过GETDATE方法获得的日期值和字符值拼接在一起。
3、运行后会得到以下错误信息,很明显,SQL SERVER不允许拼接日期和字符值。
4、接下来,使用CONVERT函数对日期值执行字符串转换。
5、运行SQL语句后,将在输出结果中看到下图所示的输出内容。
6、当然,如果不想使用上述日期格式,也可以选择自己的日期格式,只需指定样式ID。
在Oracle中,要获得日期中的年份,例如把sysdate中的年份取出来,并不是一件难事。常用的方法是:Select to_number(to_char(sysdate,'yyyy')) from dual,而实际上,oracle本身有更好的方法,那就是使用Extract函数,使用方法是:Select Extract(year from sysdate) from dual,这种方法省掉了类型转换,看上去更加简洁。相应的,要取得月份或日,可以用select extract (month from sysdate) from dual和select extract (day from sysdate) from dual。 此方法获得的结果,是数值型的,你可以设置一个方法测试一下。
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