Oracle DB 컬럼생성시 자동 날짜 시간이 입력되도록 하기 위해서 0 5 7,316

by 이은경 [Oracle 기초] [2016.01.19 16:11:26]


날짜 시간을 데이터 INSERT 할때마다 자동으로 오늘 날짜와 시간이 뜨도록 컬럼 값을 설정하려고 하는데

컬럼을 그렇게 수정하려고 

ALTER TABLE 테이블명 MODIFY(DAY DEFAULT SYSDATE);

를했습니다 ㅜㅜ 

날짜 데이터를 제외하고 데이터를 INSERT 하니까 해당 INSERT 한

DAY 컬럼에 데이터 날짜는 나오지 않고

16/01/19 이렇게 날짜만 나오더군요 ㅠㅠ 

시간도 함꼐 나오게 하려면 어떻게 해야 하죠??ㅠㅠ

by 아발란체 [2016.01.19 16:19:07]

SELECT TO_CHAR(day, 'YYYY-MM-DD HH24:MI:SS') FROM 테이블명


by 이은경 [2016.01.19 16:38:24]

오 ㅠㅠ 그런 방법이 있었네요 ㅠㅠ 감사합니다!


by 미스틱매니아 [2016.01.19 16:34:37]

sqlplus 기준으로 보고계신거면 아래 세팅 하고 조회해 보세요.

ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS';

JAVA가 아닌이상 기본 DATE 포맷으론 일 까지만 나옵니다. 


by 이은경 [2016.01.19 16:39:34]

ALTER SESSION이라는게 데이터 값이 나올때 데이터가 어떻게 나오는지 지정해 주는 건가요??


by 겸댕2후니 [2016.01.19 17:00:30]

Date형식의 경우, 저장값이 YYYYMMDDHH24MISS 입니다.

즉, 년 월 일 시간 분 초의 값을 가지고 있지요.

위에서 작성자분이 검색하셨을 시, 년 월 일에 대한 값만 나온 것은

현재 Date타입에 대해 일까지만 표시하겠다고 설정되어있기 때문이죠.

위에 미스틱매니아님께서 적어주신 명령어는, 현재 접속되있는 세션에서는

Date값을 YYYY/MM/DD HH24:MI:SS형식으로 표현하겠다는 것이구요.

만약 alter session set nls_date_format = 'YYYY/MM/DD HH24' 로 한다면?

Date타입 검색 시, 시간단위까지만 출력됩니다.

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