매번 다른 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;
'📇기타' 카테고리의 다른 글
윈도우에서 Redis를 사용하기(공식적인 방법) (2) | 2024.12.24 |
---|---|
안전한 개발 생활을 위한 매뉴얼(신입 개발자들 필독) (0) | 2024.01.15 |
레거시 코드에서 테스트 코드 시작하기 (2) | 2023.12.01 |
우테코 프리코스 공통 피드백 정리 (0) | 2023.11.17 |
[우테코 프리코스] 2주차 회고 (0) | 2023.11.04 |