반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백트래킹
- 오퍼레터
- 퇴사통보
- OFFSET
- 소프티어
- 백준
- BFS
- compose
- Docker
- 13908
- 경력
- 매개변수탐색
- 파라메트릭
- dfs
- boj #19237 #어른 상어
- softeer
- incr
- 처우산정
- 처우협의
- 물채우기
- msSQL
- @P0
- Kafka
- 연결요소
- upper_bound
- 이분탐색
- BOJ
- 기술면접
- 성적평가
- 6987
Archives
- Today
- Total
기술 블로그
해당 연도의 일 수와 like 사용에 좋은 'yyyyMM%' 문자열 얻기 본문
728x90
반응형
해당 연도의 일 수와 like 사용에 좋은 'yyyyMM%' 문자열 얻기
@START_DATE
2021-01-01 00:00:00.000
@END_DATE
2021-12-31 00:00:00.000
@DAY_DIFF
365
@MONTH_AGO_YYYYMM_LIKE
202101%
DECLARE @MONTH_DAY_COUNT INT, @MONTH_AGO DATETIME, @MONTH_AGO_YYYYMM_LIKE VARCHAR(100)
DECLARE @START_DATE DATETIME, @END_DATE DATETIME, @DAY_DIFF INT
DECLARE @PIVOT_DATE DATETIME
-- yyyy-MM-01 형식으로 입력하여, 해당 연도의 일 수와
-- like에 사용하기에 좋은 yyyyMM% 문자열을 얻을 수 있다.
SET @PIVOT_DATE = '2021-01-01'
SET @START_DATE = DATEADD(YEAR, DATEDIFF(YEAR, 0, @PIVOT_DATE), 0);
SET @END_DATE = DATEADD(YEAR, DATEDIFF(YEAR, -1, @PIVOT_DATE), -1);
SET @DAY_DIFF = DATEDIFF(DD, @START_DATE, @END_DATE) + 1;
SET @MONTH_AGO = CONVERT(VARCHAR(10),@PIVOT_DATE,23);
SET @MONTH_DAY_COUNT = DAY(@MONTH_AGO);
SET @MONTH_AGO_YYYYMM_LIKE = CONVERT(NVARCHAR(6), @MONTH_AGO, 112) + '%'
select @START_DATE '@START_DATE', @END_DATE '@END_DATE', @DAY_DIFF '@DAY_DIFF', @MONTH_AGO_YYYYMM_LIKE '@MONTH_AGO_YYYYMM_LIKE';
728x90
반응형
'데이터베이스 > MsSql' 카테고리의 다른 글
특정 열을 활용하여 중복된 행(데이터) 찾기 (0) | 2021.10.01 |
---|---|
where 조건문에 날짜를 활용하여 특정 시간대 범위 내에 있는 데이터들을 select 할 때 (0) | 2021.08.25 |
'@P0' 근처의 구문이 잘못되었습니다. (0) | 2021.07.08 |
MsSql 해당 월에 대한 시작 날짜(1일) 00:00:00과 마지막 날짜 23:59:59 출력 (0) | 2021.04.07 |
현재 시간 연월일시분초 (0) | 2021.01.22 |