关于#Oracle#的问题,如何解决?

Oracle 数据库里面的时间格式为4个y/mm/dd hh24:mi:ss,但是显示的时候,2020/01/19 09:00:02会显示为2020/1/19 9:00:02,如何设置为标准格式
select sysdate from dual
2020/1/19 9:00:02
试过to_char转为字符串再to_date转为日期格式
展示为2020/01/19 09:00:02

你的程序或者数据库日期格式设置了取消前导0,前导0可以通过fm参数取消。
SQL> alter session set nls_date_format='yyyy/fmmm/dd hh24:mi:ss'; 设置取消前导0.
会话已更改。
SQL> select to_date('2020/01/19 09:00:02','yyyy/mm/dd hh24:mi:ss') from dual;
TO_DATE('2020/01/19


2020/1/19 9:0:2
SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss';设置增加前导0.
会话已更改。
SQL> select to_date('2020/01/19 09:00:02','yyyy/mm/dd hh24:mi:ss') from dual;
TO_DATE('2020/01/19


2020/01/19 9:0:2

img

格式化输出时间可以通过两种方式:
 1select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')  now from dual;
 2011-01-29 01:50:54

 2alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
 select sysdate from dual;
 2011-01-29 01:50:54
格式化输出时间:
select TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS') from DUAL;


select TO_DATE ('2020-01-19 09:00:02.0','YYYY-MM-DD HH24:MI:SS') from DUAL;

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;