截取年月的问题,但是不可以用to_char函数 问下oracle 的问题,只截取年月的比如select to_char(sysdate,'yyyymm') from dual有没有不用to_char函数来截取年月的办法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL> SELECT extract(YEAR FROM SYSDATE) || extract(MONTH FROM SYSDATE) FROM dual; EXTRACT(YEARFROMSYSDATE)||EXTR--------------------------------------------------------------------------------20111 SQL> SQL> SELECT extract(YEAR FROM SYSDATE) || 2 lpad(extract(MONTH FROM SYSDATE), 2, '0') 3 FROM dual; EXTRACT(YEARFROMSYSDATE)||LPAD--------------------------------------------201101 SQL> 好好的 TO_CHAR 为什么不用呢,用其它办法更麻烦 -- to_char()只是将日期数据以怎样的格式显示出来,要截取日期,可以用trunc()函数,-- 实例如下:sys@SZTYORA> conn / as sysdba已连接。sys@SZTYORA> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';会话已更改。sys@SZTYORA> select sysdate from dual;SYSDATE-------------------2011-02-09 10:43:32sys@SZTYORA> select trunc(sysdate) from dual;TRUNC(SYSDATE)-------------------2011-02-09 00:00:00sys@SZTYORA> select trunc(sysdate,'mm') from dual;TRUNC(SYSDATE,'MM')-------------------2011-02-01 00:00:00sys@SZTYORA> select trunc(sysdate,'yyyy') from dual;TRUNC(SYSDATE,'YYYY-------------------2011-01-01 00:00:00sys@SZTYORA> select trunc(sysdate,'ww') from dual;TRUNC(SYSDATE,'WW')-------------------2011-02-05 00:00:00 to_char() 简单,并且效率高。为什么不用 用 SELECT extract(YEAR FROM SYSDATE) || extract(MONTH FROM SYSDATE) FROM dual;效率低,在优化sql中最好不用|| 同意头上的 to_char()是最好的 为什么不用呢? 关于oracle索引问题 tns:权限被拒绝 分区表如何根据ID尾数分区 在PROCEDURE中WHERE条件中IN后面的集合的传递问题!急!急!急! 我想实现不同数据库下两张相同表的数据同步该怎么做 高手请进,高分求教SQLLDR的数据过滤问题,要求按某张表中的数据过滤,解决问题的人才给分 oracle启动!!! 怎样把*.dmp文件转换成access格式文件? 日期问题,请指教! oracle 写个package fuction存储过程实现如下功能,给个思路。 oracle企业管理器中如何插入数据? 如何在添加SQL中做判断?
EXTRACT(YEARFROMSYSDATE)||EXTR
--------------------------------------------------------------------------------
20111
SQL>
2 lpad(extract(MONTH FROM SYSDATE), 2, '0')
3 FROM dual;
EXTRACT(YEARFROMSYSDATE)||LPAD
--------------------------------------------
201101
SQL>
-- 实例如下:
sys@SZTYORA> conn / as sysdba
已连接。
sys@SZTYORA> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';会话已更改。sys@SZTYORA> select sysdate from dual;SYSDATE
-------------------
2011-02-09 10:43:32sys@SZTYORA> select trunc(sysdate) from dual;TRUNC(SYSDATE)
-------------------
2011-02-09 00:00:00sys@SZTYORA> select trunc(sysdate,'mm') from dual;TRUNC(SYSDATE,'MM')
-------------------
2011-02-01 00:00:00sys@SZTYORA> select trunc(sysdate,'yyyy') from dual;TRUNC(SYSDATE,'YYYY
-------------------
2011-01-01 00:00:00sys@SZTYORA> select trunc(sysdate,'ww') from dual;TRUNC(SYSDATE,'WW')
-------------------
2011-02-05 00:00:00
用 SELECT extract(YEAR FROM SYSDATE) || extract(MONTH FROM SYSDATE) FROM dual;
效率低,在优化sql中最好不用||