일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- scrapy
- windows10
- MEAN Stack
- 자본주의
- MSSQL PYTHON
- 장고
- MSSQL
- 딥러닝
- Serial
- vscode
- 파이썬
- rs485
- 크롤링
- pymssql
- Visual Studio Code
- matplot
- 텐서플로우
- c#
- PYTHON MSSQL
- M2M
- sql developer
- MX Component
- Python
- tensorflow
- 윈도우10
- 오라클
- django
- oracle
- rs422
- 티스토리 초대장
Archives
- Today
- Total
안까먹을라고 쓰는 블로그
[MSSQL] - 함수 : 전/금/다음 월 시작/종료일자 구하기 본문
반응형
함수 생성
CREATE FUNCTION [NEOE].[FN_GET_MONTH_START_END]
(
@P_DATE NVARCHAR(8),
@P_OPTION NVARCHAR(1)
)
RETURNS NVARCHAR(8)
AS
BEGIN
DECLARE @V_DATE_RTN NVARCHAR(8)
SET @V_DATE_RTN = '00000000'
IF @P_DATE IS NOT NULL
BEGIN
IF @P_OPTION = '1' --전월 시작 일
BEGIN
SET @V_DATE_RTN = CONVERT(NVARCHAR(8),DATEADD(MONTH,-1,SUBSTRING(@P_DATE,1,6)+'01'),112)
END
IF @P_OPTION = '2' --전월 마지막 일
BEGIN
SET @V_DATE_RTN = CONVERT(NVARCHAR(8),DATEADD(DAY,-1,SUBSTRING(@P_DATE,1,6)+'01'),112)
END
IF @P_OPTION = '3' --해당월 시작 일
BEGIN
SET @V_DATE_RTN = SUBSTRING(@P_DATE,1,6)+'01'
END
IF @P_OPTION = '4' --현재월 마지막 일
BEGIN
SET @V_DATE_RTN = CONVERT(NVARCHAR(8),DATEADD(DAY,-1,DATEADD(MONTH,1,SUBSTRING(@P_DATE,1,6)+'01')),112)
END
IF @P_OPTION = '5' --현재월 시작 일
BEGIN
SET @V_DATE_RTN = CONVERT(NVARCHAR(8),DATEADD(MONTH,1,SUBSTRING(@P_DATE,1,6)+'01'),112)
END
IF @P_OPTION = '6' --다음월 마지막 일
BEGIN
SET @V_DATE_RTN = CONVERT(NVARCHAR(8),DATEADD(DAY,-1,DATEADD(MONTH,2,SUBSTRING(@P_DATE,1,6)+'01')),112)
END
END
RETURN @V_DATE_RTN
END
사용방법
SELECT FN_GET_MONTH_START_END ('20231228', '1') -- 결과 : 20231101
SELECT FN_GET_MONTH_START_END ('20231228', '2') -- 결과 : 20231130
SELECT FN_GET_MONTH_START_END ('20231228', '3') -- 결과 : 20231201
SELECT FN_GET_MONTH_START_END ('20231228', '4') -- 결과 : 20231231
SELECT FN_GET_MONTH_START_END ('20231228', '5') -- 결과 : 20240101
SELECT FN_GET_MONTH_START_END ('20231228', '6') -- 결과 : 20240131
반응형
'DataBase > MS SQL' 카테고리의 다른 글
[MSSQL] 백업(BACKUP) & 복원(RESTORE) (0) | 2024.03.05 |
---|---|
[MSSQL] 파일그룹 이란? (0) | 2024.02.29 |
[MSSQL] - 함수 : RPAD 구현 (0) | 2023.12.28 |
[MSSQL] - 함수 : LPAD 구현 (0) | 2023.12.28 |
[MSSQL] 함수 : 해당월의 마지막 일자 구하기 (0) | 2023.12.28 |
Comments