DATE 타입 컬럼이 아닌 특정 문자열 컬럼을 기준으로 배치를 돌려야 할 때!
ORACLE
- TABLENAME 테이블의 DATE_COLUMN 이라는 VARCHAR(4) 컬럼을 기준으로 월배치를 수행할 경우
( DATE_COLUMN 의 값은 '202503' 형태 )
SELECT *
FROM SCHEMA.TABLENAME
WHERE DATE_COLUMN = TO_CHAR(ADD_MONTH(SYSDATE, -1), 'YYYYMM');
- TABLENAME 테이블의 DATE_COLUMN 이라는 VARCHAR(8) 컬럼을 기준으로 월배치를 수행할 경우
( DATE_COLUMN 의 값은 '20250320' 형태 )
SELECT *
FROM SCHEMA.TABLENAME
WHERE SUBSTR(DATE_COLUMN, 1, 6) = TO_CHAR(ADD_MONTH(SYSDATE, -1), 'YYYYMM');
MySQL
- TABLENAME 테이블의 DATE_COLUMN 이라는 VARCHAR(4) 컬럼을 기준으로 월배치를 수행할 경우
( DATE_COLUMN 의 값은 '202503' 형태 )
SELECT *
FROM SCHEMA.TABLENAME
WHERE DATE_COLUMN = DATE_FORMAT((CURRENT_TIMESTAMP() - INTERVAL 1 MONTH), '%Y%M');
- TABLENAME 테이블의 DATE_COLUMN 이라는 VARCHAR(8) 컬럼을 기준으로 월배치를 수행할 경우
( DATE_COLUMN 의 값은 '20250320' 형태 )
SELECT *
FROM SCHEMA.TABLENAME
WHERE SUBSTR(DATE_COLUMN, 1, 6) = DATE_FORMAT((CURRENT_TIMESTAMP() - INTERVAL 1 MONTH), '%Y%M');
또 쓸일이 있을것같아서 기록용으로 남겨둠
'SQL' 카테고리의 다른 글
[SQL] DB별 날짜 포맷 텍스트 포맷으로 변환 (Oracle / mySQL / BigQuery) (1) | 2024.09.30 |
---|---|
[BigQuery] 빅쿼리 테이블 DDL 생성, 컬럼 추출, 뷰 생성 쿼리 (0) | 2024.06.20 |
[PostgreSQL] PostgreSQL 에서 :: (Double colon) 의 의미 (0) | 2024.01.09 |
[Oracle] 날짜별 데이터 카운트 (0) | 2023.12.19 |