inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Khóa học chuẩn bị chứng chỉ SQLD

DML - INSERT

SYSDATE 입력

51

happychohb

7 câu hỏi đã được viết

0

S3에

"날짜(SYSDATE)의 경우 VARCHAR2 타입의 날짜 컬럼에 입력 시 TO_CHAR(SYSDATE, 'YYYYMMDD')와 같이 변환 후 입력값으로 사용해야 함. D" 라는 부분은 빈드시 그래야 한다는 오해의 소지가 있는 거 같습니다.

날짜 정보를 VARCHAR2 타입으로 관리하는 컬럼일 경우 반드시 TO_CHAR(SYSDATE, FORMAT)으로 캐스팅 해야 하지만 DATETIME 타입의 컬럼에는 캐스팅 하지 않아도 입력이 되나깐요.

sql SQLD

Câu trả lời 1

0

SoYoung Yoon

안녕하세요 ^^

말씀하신 것처럼 기존 설명은 SYSDATE를 입력할 때 TO_CHAR()로 변환해야 한다는 표현은 오해를 줄 수 있어 보완이 필요합니다.

Oracle에서 SYSDATE는 DATE 자료형의 값을 반환하므로, DATE 타입의 컬럼에는 별도의 형 변환 없이 입력할 수 있습니다. 반면 VARCHAR2 타입의 컬럼에 날짜를 문자 형태로 저장하는 경우에는 TO_CHAR(SYSDATE, 'YYYYMMDD')와 같이 명시적으로 변환하는 것이 권장됩니다.

다만 VARCHAR2 컬럼에도 Oracle의 암묵적 형 변환에 의해 SYSDATE가 입력될 수 있으므로, TO_CHAR() 사용이 반드시 필요한 것은 아닙니다. 이 경우 날짜의 문자 표현은 세션의 NLS_DATE_FORMAT 설정에 영향을 받을 수 있습니다.

따라서 해당 설명은 다음과 같이 수정하겠습니다.

"SYSDATE는 DATE 타입의 값을 반환하므로 DATE 타입 컬럼에는 별도의 변환 없이 입력할 수 있다. VARCHAR2 타입 컬럼에 특정 날짜 형식으로 저장하려면 TO_CHAR(SYSDATE, 'YYYYMMDD')와 같이 명시적으로 변환하는 것이 권장된다."

의견 주셔서 감사합니다!


연습문제 5번 질문합니다.

0

17

1

오라클 NULL 표시 관련

0

22

1

Oracle 설치

0

36

2

힌트 적용에 대해서

0

39

1

강의 "자료" 관련 문의

0

42

1

최종 과제 제출합니다!

0

52

2

ALL ANY 관련 질문 드립니다

0

46

1

ROLLUP COMPOSITE COLUMN 문의

0

41

1

수료증 제공하나요?

0

42

1

노션링크

0

55

1

조회 대상 행이 적을 때도 Using filesort 제거를 고려해야 하나요?

0

64

2

테이블 생성 시 PK 및 제약조건 문의

0

62

1

TCL 문의

0

53

1

PK를 AUTO_INCREMENT UUID를 UNIQUE로 하는것에 대해

0

70

2

본질 및 인조 식별자 질문

0

45

1

pk를 auto increment로 하는것에 대해서

0

65

2

슈퍼키 문의

0

55

1

질문있습니다!

0

56

1

3-13 리텐션 과제 제출합니다!

0

81

2

실행 통계2 explain analyze 조인 쿼리

0

68

1

3강 인덱스 구조 강의 자료 문의

1

100

1

68강 문제 풀이

0

50

1

외래키 제약조건-참조동작 질문

1

134

1

교안 파일 문제

0

209

1