Type 참조 안내서

DATE

DATE 타입은 특정 날짜와 초 단위까지의 시간을 표현하는 데이터 타입이다. TIMESTAMP(0)과 표현 범위가 동일하다.

DATE

DATE 타입은 다음과 같은 특징이 있다.

  • 연도, 월, 일, 시, 분, 초를 표현할 수 있다.

  • 연도는 BC 4,713 ~ AD 294,276까지 표현할 수 있다.

  • 시간은 24시간 단위로 표현된다.

CREATE TABLE T (a date);
INSERT INTO T VALUES ('4713-01-01 01:11:30 BC');
INSERT INTO T VALUES ('2023-03-19 13:29:30');


VARCHAR2

VARCHAR2 타입도 CHARACTER VARYING 타입과 마찬가지로 문자열 길이가 일정하지 않은 가변 길이를 갖는다.

VARCHAR2[(size)]

VARCHAR2 타입은 다음과 같은 특징이 있다.

  • 문자열은 최대 10,485,760 byte(=10MB)까지 선언할 수 있다. 변환된 문자열의 길이가 해당 크기를 넘으면 에러가 발생한다.

  • 문자열의 크기를 지정하지 않은 경우 Postgresql native type인 TEXT 처럼 동작한다.

  • 문자열의 길이는 byte를 기준으로 지정할 수 있다.

  • SQL 문장에서 VARCHAR2 타입의 값을 표현할 때에는 항상 작은 따옴표(' ')를 사용한다.

  • Postgresql의 기본 동작을 고려하여, ORACLE과는 다르게 빈 문자열('')과 NULL을 다른 값으로 간주한다.

다음은 VARCHAR2 타입을 설명하는 예이다.

EMP_NAME VARCHAR2(10)

위 예제에서 보듯이 EMP_NAME 컬럼은 10byte의 문자열 길이를 갖는다. 예를 들어 'Peter' 문자열이 입력되었다면 'Peter' 문자열이 저장된다. 다시 말해 EMP_NAME 컬럼의 문자열 길이는 10byte로 선언되었지만 실제로 저장된 문자열 길이는 5byte이다. 이처럼 VARCHAR2 타입은 선언된 문자열 길이의 범위 내에서 입력된 문자열 길이와 동일한 길이를 갖는다.


NVARCHAR2

NVARCHAR2 타입은 유니코드 문자열을 저장하기 위한 타입이다. 문자열 길이가 일정하지 않은 가변 길이를 갖는다는 특징이 있다.

NVARCHAR(size)

NVARCHAR2 타입은 다음과 같은 특징이 있다.

  • 기본적으로 VARCHAR2 타입과 유사하지만, 문자열의 길이가 문자 기준이다.

    데이터베이스에 저장되는 타입의 길이는 다국어 문자 집합에 따라 달라진다. 예를 들어 UTF8인 경우엔 size의 최대 3배, UTF16인 경우엔 size의 최대 2배가 된다.

  • NVARCHAR2 타입의 문자열의 최대 길이는 10,485,760자이다.

  • SQL 문장에서 NVARCHAR2 타입의 값을 표현할 때에는 항상 작은 따옴표(' ')를 사용한다.

  • Postgresql의 기본 동작을 고려하여, ORACLE과는 다르게 빈 문자열('')과 NULL을 다른 값으로 간주한다.

Last updated