SQL 날짜 데이터 입력 질문드립니다! 0 7 545

by 침착맨 [Oracle 기초] [2022.01.23 21:30:53]



날짜를 '05-OCT-1995' 와 같이 입력하고 싶은데

그에 맞게 코드를 치면 저런식으로 오류가 납니다.

뭐가 문제인지 알고싶습니다!

by 마농 [2022.01.24 11:08:16]
SELECT TO_DATE('05-OCT-1995', 'dd-mon-yyyy', 'nls_date_language=English') dt
     , TO_DATE('05-OCT-1995', 'dd-mon-yyyy', 'nls_date_language=American') dt
  FROM dual
;

 


by 침착맨 [2022.01.24 13:43:22]

답변 감사합니다

제가 여쭤보고싶은건 처음 날짜데이터타입의 컬럼에 날짜 데이터를 저런 형식으로 넣고 싶습니다.

제가 친 코드가

insert into title
values(title_id_seq.nextval, 'Willie and Christmas Too', 'All of Willie''s friends make a Christmas list for Santa, but Willie has yet to add his own wish list.', 'G', 'CHILD', to_date('05-OCT-1995', 'DD-MON-YYYY'));

이건데 여기서 어떻게 바꿔야 할까요?


by JYK94 [2022.01.24 13:25:20]

사용하시는 오라클의 date type 포맷 설정을 확인 해보시기 바랍니다.

SELECT *
  FROM NLS_SESSION_PARAMETERS;

 

제 환경에서는 NLS_DATE_LANGUAGE가 KOREAN으로 설정되어있어서

SELECT TO_CHAR ( SYSDATE, 'DD-MON-YYYY' ) AS AA
  FROM DUAL;

위 결과가 다음과 같이 출력되네요.

24-1월 -2022


by 침착맨 [2022.01.24 13:43:27]

답변 감사합니다

제가 여쭤보고싶은건 처음 날짜데이터타입의 컬럼에 날짜 데이터를 저런 형식으로 넣고 싶습니다.

제가 친 코드가

insert into title
values(title_id_seq.nextval, 'Willie and Christmas Too', 'All of Willie''s friends make a Christmas list for Santa, but Willie has yet to add his own wish list.', 'G', 'CHILD', to_date('05-OCT-1995', 'DD-MON-YYYY'));

이건데 여기서 어떻게 바꿔야 할까요?


by 마농 [2022.01.24 15:26:49]

입력 자체는 문제가 없이 잘 입력 되었을 것으로 보입니다. (오류 없이 입력 되었다면 정상 입력입니다.)
출력이 문제인거죠.
원하는 포멧으로 출력하는 방법은
1. 환경 설정을 바꾸는 방법
- 시스템 또는 세션단위의 날짜 포멧 설정을 바꾸는 방법
- ALTER SESSION SET nls_date_format='dd-MON-yyyy';
2. 출력할 때만 원하는 문자 포멧으로 바꾸어 출력하는 방법. (문자 타입 출력)
SELECT TO_CHAR(release_date, 'dd-mon-yyyy') dt FROM t;


by 침착맨 [2022.01.24 15:46:59]

감사합니다!


by DB초보자입니다 [2022.01.25 13:48:47]

정말죄송한데 대댓글 어찌다나용ㅠㅠ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입