본문 바로가기
📇기타

DBMS별 자주 쓰는 SQL 문

by 캔 2024. 10. 14.

매번 다른 DBMS 쓸 때마다 함수나 문법이 헷갈려서 정리해 놓는다. 이후에도 생각나는 게 있으면 추가할 예정이다.

날짜/시간 ↔ 문자열 변경

PostgreSQL

-- 날짜/시간 → 문자열
SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS') AS date_string;

-- 문자열 → 날짜/시간
SELECT TO_TIMESTAMP('2024-10-14 15:30:00', 'YYYY-MM-DD HH24:MI:SS') AS timestamp_value;

MySQL/MariaDB

-- 날짜/시간 → 문자열
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS date_string;

-- 문자열 → 날짜/시간
SELECT STR_TO_DATE('2024-10-14 15:30:00', '%Y-%m-%d %H:%i:%s') AS date_value;

OracleDB

-- 날짜/시간 → 문자열
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS date_string FROM dual;

-- 문자열 → 날짜/시간
SELECT TO_DATE('2024-10-14 15:30:00', 'YYYY-MM-DD HH24:MI:SS') AS date_value FROM dual;

 

시퀀스 재설정

PostgreSQL

-- 현재 시퀀스를 20으로 변경(다음 시퀀스는 21)
ALTER SEQUENCE sequence_name RESTART WITH 20;

 

MySQL/MariaDB

-- 현재 시퀀스를 20으로 변경(다음 시퀀스는 21)
ALTER TABLE table_name AUTO_INCREMENT = 20;

 

OracleDB

- 현재 시퀀스 값을 조회
SELECT sequence_name.CURRVAL FROM dual;

-- 현재 시퀀스가 5일 경우, 현재 시퀀스를 20으로 변경(다음 시퀀스는 21)
ALTER SEQUENCE sequence_name INCREMENT BY 15;
SELECT sequence_name.NEXTVAL FROM dual;
ALTER SEQUENCE sequence_name INCREMENT BY 1;