Jehna :)

[Oracle] 날짜형식 변경 (yy/mm/dd 변경) 본문

윌리/DB

[Oracle] 날짜형식 변경 (yy/mm/dd 변경)

Jehna 2018. 3. 30. 13:00

"오라클, 날짜 형식 변경 yy/mm/dd -> yyyy-mm-dd"



아무리 쿼리를 날려도 yy-mm-dd로 나오는 슬픈 현실..

확인해보니 날짜형식이 yy-mm-dd로 되어 있어서 그런거였다.. ㅋㅋㅋㅋㅋ아오



1. 날짜형식 확인

  

   

   SQL> SELECT * FROM SYS.PROPS$ WHERE NAME='NLS_DATE_FORMAT';


   NAME

   ------------------------------

   VALUE$

   --------------------------------------------------------------------------------

   COMMENT$

   --------------------------------------------------------------------------------

   NLS_DATE_FORMAT

   DD-MON-RR

   Date format

    


   SQL> SELECT TO_DATE(SYSDATE, 'SYYYY-MM-DD HH:MI:SS') FROM DUAL;

   TO_DATE(
   --------
   18/03/30



2. 날짜 형식 변경

    - 꼭!!! SYSDBA로 접속해서 변경해야 함


 

   SQL> UPDATE SYS.PROPS$ SET VALUE$='YYYY-MM-DD HH:MI:SS' WHERE NAME='NLS_DATE_FORMAT';


   1 row updated.

   



   SQL> SELECT * FROM SYS.PROPS$ WHERE NAME='NLS_DATE_FORMAT'; 


   NAME

   ------------------------------

   VALUE$

   --------------------------------------------------------------------------------

   COMMENT$

   --------------------------------------------------------------------------------

   NLS_DATE_FORMAT

   YYYY-MM-DD HH:MI:SS

   Date format



   SQL> COMMIT;


   Commit complete.


   SQL> SHUTDOWN IMMEDIATE;

   Database closed.

   Database dismounted.

   ORACLE instance shut down.


   SQL> STARTUP 

   ORACLE instance started.


   Total System Global Area  536870912 bytes

   Fixed Size     2097696 bytes

   Variable Size   230690272 bytes

   Database Buffers   297795584 bytes

   Redo Buffers     6287360 bytes

   Database mounted.

   Database opened.





참고) session에 따라 date format이 달라 환장할 경우 


  

  1. OS 환경 변수에 NLS_DATE_FORMAT = 'YYYY-MM-DD HH:MI:SS' 등록하기

  2. PHP pdo oci + oracle 인 경우, date format 등록

     파일경로: /etc/php-fpm.d/www.conf 

     등록내용: env[NLS_DATE_FORMAT] = "YYYY-MM-DD HH:MI:SS" (맨 아래에 추가)