일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 제주도
- MacOS
- Mac
- 단축키
- iterm
- Canon6DMark2
- MSsql
- SaberTactical
- roadbike
- 자전거출근
- synology
- JakartaLife
- FXImpactMK2
- Garmin
- 출근
- 자카르타일상
- JKT.CC
- CerveloS5
- 탁스네오
- 자카르타라이딩
- OSX
- 자전거
- Java
- brew
- PS3
- Nas
- ssh
- Oracle
- console
- 맥
- Today
- Total
XX아~ 열심히 하지마~. 잘하란 말야~
MSSQL , ORACLE 월(month)의 마지막날 구하기 함수 본문
개발을 하다보면 가끔 특정 날짜가 포함된 달의 마지막 날짜를 구해야 하는 경우가 종종 발생한다.
고전적인 방법은 지정날짜에 1개월을 더하고 일(day)를 01로 바꿔준 날짜에서 하루를 빼준다.
뭐 어느 VERSION 부터 추가된건지는 몰라도... 최근 사용되는 DB는 거의 될듯~
난 아직도 20년전에 묶여서 하는 듯한 이느낌은 뭐징...ㅋㅋ
MS-SQL
-- 1개월을 더한다.
SELECT CONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112);
--년월(YYYYMM)만 추출
SELECT LEFT( CONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112) , 6 );
--년월(YYYYMM)에 01(DAY)를 붙임
SELECT LEFT( CONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112) , 6 ) + '01';
-- 날짜 FORMAT 으로 변경
SELECT CONVERT(DATE, LEFT( CONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112) , 6 ) + '01', 112);
-- 하루를 뺀다.
SELECT DATEADD( D, -1, CONVERT(DATE, LEFT( CONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112) , 6 ) + '01', 112) );
-- 한방에 함수로 해결
SELECT EOMONTH( GETDATE() );
ORACLE
-- 1개월을 더한다.
SELECT TO_CHAR( ADD_MONTHS(SYSDATE, 1), 'YYYYmmDD') FROM DUAL;
--년월(YYYYMM)만 추출
SELECT SUBSTR(TO_CHAR( ADD_MONTHS(SYSDATE, 1), 'YYYYmmDD') ,1,6) FROM DUAL;
--년월(YYYYMM)에 01(DAY)를 붙임
SELECT SUBSTR(TO_CHAR( ADD_MONTHS(SYSDATE, 1), 'YYYYmmDD') ,1,6) || '01' FROM DUAL;
-- 날짜 FORMAT 으로 변경
SELECT TO_DATE( SUBSTR(TO_CHAR( ADD_MONTHS(SYSDATE, 1), 'YYYYmmDD') ,1,6) || '01' , 'YYYYmmDD') FROM DUAL;
-- 하루를 뺀다.
SELECT TO_DATE( SUBSTR(TO_CHAR( ADD_MONTHS(SYSDATE, 1), 'YYYYmmDD') ,1,6) || '01' , 'YYYYmmDD') -1 FROM DUAL;
-- 한방에 함수로 해결
SELECT LAST_DAY(SYSDATE) FROM DUAL;
'Blog > DB' 카테고리의 다른 글
ORACLE에서 LONG TYPE의 COLUMN에 LIKE 조건을 걸기 위해서.. LONG TO CHAR (0) | 2019.01.08 |
---|---|
달력을 DB에 저장해서 사용해야 하는 할 필요가 있을 때 달력 생성 - MSSQL (0) | 2019.01.03 |
SSMS에서 Table Design 시 Comment(설명) 항목 보기 (0) | 2018.12.03 |
Oracle Table / Column 정보 조회 Query (0) | 2018.11.28 |
MS-SQL에서 Table정보를 Query로 조회할 때 (0) | 2018.10.15 |