createtable t(a date); insertinto t values(to_date('2008-2-1','yyyy-mm-dd')); -- select to_char(a,'yyyy')||'-'||to_number(to_char(a,'mm'))||'-'||to_number(to_char(a,'dd')) from t -- 2008-2-1
设置nls_date_format这个参数 SQL>alter session set nls_date_format='yyyy-mm-dd'; 会话已更改。 SQL>select sysdate from dual; SYSDATE ---------- 2008-02-27
如果数据库该字段是VARCHAR2 型,请转成日期格式再转 ,如下: selectreplace(to_char(to_date('2008-02-01','yyyy-mm-dd'),'yyyy-mm-dd'),'-0','-') from dual Result ---------- 2008-2-1