본문 바로가기

CS/DB

DB 컬럼으로 varchar2 타입이 좋을까? date 타입이 좋을까?

가끔 날짜와 관련해서 date 타입으로 선언 후 string으로 바꿔서 사용하는데, 좀 귀찮다고 생각이 들 때가 있습니다.

왜  date 타입이 더 좋은지에 대해서 알아보도록 하겠습니다.

날짜 데이터를 '20230712'와 같은 형식으로 저장하려면 VARCHAR2 타입이 아닌 DATE 타입을 사용하는 것이 좋습니다. 여기에는 몇 가지 이유가 있습니다.

 

1. 데이터 유효성: DATE 타입은 날짜와 관련된 유효성 검사를 수행할 수 있습니다. 즉, DATE 타입은 유효한 날짜인지 여부를 확인하고, 잘못된 날짜 형식이 입력되었을 때 오류를 발생시킵니다. 반면, VARCHAR2 타입은 문자열로 저장되기 때문에 날짜 유효성을 검사하기 어렵습니다.

2. 정렬 및 검색: DATE 타입은 날짜에 대한 정렬 및 검색을 수행하기에 효율적입니다. 데이터베이스는 DATE 타입으로 저장된 날짜를 내부적으로 이해하고 처리할 수 있으므로, 날짜 간의 정확한 정렬 및 검색이 가능합니다. VARCHAR2 타입의 경우, 문자열로 저장되기 때문에 정렬 및 검색이 문자열의 순서로 이루어지며, 날짜에 대한 정확한 비교와 검색이 어려울 수 있습니다.

3. 날짜 함수 및 연산: DATE 타입을 사용하면 데이터베이스에서 제공하는 다양한 날짜 함수와 연산을 활용할 수 있습니다. 날짜 간의 계산, 포맷 변환, 기간 계산 등을 간편하게 처리할 수 있습니다. VARCHAR2 타입의 경우, 이러한 날짜 함수와 연산을 수행하기 위해서는 문자열을 날짜로 변환해야 하며, 이는 번거로울 수 있습니다.

따라서, 날짜 데이터를 '20230712'와 같은 형식으로 저장한다면 DATE 타입을 사용하는 것이 권장됩니다. DATE 타입은 데이터의 유효성을 보장하고, 정렬 및 검색에 효율적이며, 다양한 날짜 함수와 연산을 지원합니다.

'CS > DB' 카테고리의 다른 글

기본키로 varchar2가 좋을까?  (0) 2023.07.17