'MSSQL 일자 생성'에 해당되는 글 1건

개발중

[MSSQL] 소소한 팁 (1) : ROW_NUMBER(), 줄넘김, 임시테이블, 기본일자, 시퀀스 생성 및 사용

-- 1. [ROWNUM]

-- 1-1. 순차적으로 순번을 지정(그룹 X)
-- ROWNUM이 1, 2, 3 ,,, 1씩 증가
SELECT ROW_NUMBER() OVER(ORDER BY [정렬하고 싶은 컬럼명]) AS ROWNUM
	 , BATCH_NO
  FROM [테이블] 
  

-- 1-2. 그룹별로 순차적으로 순번 지정
-- EX) 특정컬럼 값이 '01', '02', '03'일 때 각 그룹별로 순번을 지정
-- '01'에서 1, 2, 3 ,,, '02'에서 1, 2, 3 ,,, 조건 안걸어주면 당연히 중복 생김
SELECT ROW_NUMBER() OVER(PARTITION BY [특정컬럼명] ORDER BY [정렬하고 싶은 컬럼명]) AS ROWNUM
  FROM [테이블]
  

-- 2. [줄넘김]
SELECT 'LINE1' + CHAR(13) + CHAR(10) + 'LINE2'

/* 아래와 같은 형태로 보이도록 함
	LINE1
	LINE2
*/


-- 3. [임시 테이블]

-- ※ 임시 테이블 #EX_TABLE 초기화
IF OBJECT_ID('tempdb..#EX_TABLE') IS NOT NULL
    DROP TABLE #EX_TABLE
    
-- 3-1. 임시 테이블에 값 넣기 (1)
SELECT *
  INTO #EX_TABLE
  FROM MYTABLE -- 넣고 싶은 데이터를 조회한 뒤 FROM 전에 INTO #임시테이블명 넣어주기

-- 3-2. 임시 테이블에 값 넣기 (2) : 프로시저 실행하여 넣기
-- 프로시저를 실행한 데이터 형식 그대로 생성
CREATE TABLE #EX_TABLE 
(
	ROW_SEQ INT,
    COLUNM1 VARCHAR(10),
    COLUMN2 VARCHAR(50)
)

INSERT INTO #EX_TABLE 
EXEC [프로시저명] '파라미터1', '파라미터2'
    

-- 4. 원하는 기간을 일 단위로 조회
SELECT CONVERT(VARCHAR(10), DATEADD(D, NUMBER, '20240101'), 23) AS 'DATE' -- 'YYYY-MM-DD' 형식
FROM MASTER..SPT_VALUES
WHERE TYPE = 'P'
AND NUMBER <= DATEDIFF(D, '20240101'/*시작일자*/, '20240131'/*종료일자*/)    

/* 출력값
	DATE
    2024-01-01
	2024-01-02
	2024-01-03
    ...
    2024-01-31
*/
-- 날짜 형식은 원하는대로 변경하여 사용


-- 5. 시퀀스 생성
CREATE SEQUENCE [dbo].[시퀀스명] 
AS [bigint]
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999999
CACHE 
GO

-- 생성 후 시퀀스 사용
NEXT VALUE FOR [시퀀스명] -- 시퀀스 채번

 

작성하던 와중에도 몇 개 또 씀,,

외우면 좋겠지만 매번 까먹으니까 적어놓기.

,

카운터

Today :
Yesterday :
Total :

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

링크