[Oracle] 날짜형식 변경 (yy/mm/dd 변경)
"오라클, 날짜 형식 변경 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" (맨 아래에 추가) |