문자·날짜 함수 DB별 비교
문자·날짜 함수: DB별 비교와 H2 실행 대안
문자열을 자르고 찾고 채우는 일, 날짜에 개월을 더하고 월말을 구하는 일은 어느 DB에서나 매일 쓰는 조회입니다. 문제는 이 흔한 작업의 함수 이름이 Oracle·MySQL·MSSQL 마다 제각각이라는 점입니다. 이 레슨은 문자·날짜 함수를 "같은 일을 DB마다 어떤 이름으로 하는가" 기준으로 정리하고, H2 에서 직접 실행해 차이를 확인합니다.
1. 왜 배우는가
"이름 앞 두 글자만 잘라서 보여줘", "가입일에서 6개월 지난 회원을 찾아줘"처럼 문자·날짜를 다루는 조회는 실무에서 가장 자주 나오는 유형입니다. NULL 처리 함수(중급 06)는 DB마다 이름은 달라도 인자 구조가 비슷했지만, 문자·날짜 함수는 인자 순서·단위 표기·지원 범위까지 DB마다 달라 옮겨 쓸 때 실수가 잦습니다.
이 레슨은 자르기·찾기·길이·채우기 같은 문자 함수와, 날짜 더하기·월말 구하기·날짜 차이 같은 날짜 함수를 Oracle·Tibero·MySQL·MSSQL 네 DB 기준으로 비교합니다. H2 로 실행 가능한 함수는 직접 돌려 결과를 확인하고, H2 가 지원하지 않는 함수는 대체 실행 방법과 함께 문법만 소개합니다.
참고NVL·COALESCE 같은 NULL 대체 함수는 중급 06 에서 다뤘습니다. 이 레슨의 예제에도 NULL 이 없는 값만 등장하므로, NULL 관련 내용은 중급 06 을 참고하세요.