본문 바로가기
mssql

[MSSQL] 날짜 정리

by dyyoo 2019. 5. 20.

최근 1달 기간의 데이터 조회를 하면서 매번 헛갈려서 정리!

 

생각날때마다 계속 update할 계획입니다.

 

1. 최근 데이터 조회 

SELECT *

 FROM [TABLE]

WHERE 1=1

   AND [COLUMN] BETWEEN convert(varchar(8),getDate()-30,112) AND convert(varchar(8),getDate(),112);

 

-- 위의 내용에서 추가적으로 알아야할 것은

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

위의 경우 비교할 컬럼의 형식이 '20190101'과 같은 varchar(8)이었고, 데이터 형식도 비교할 컬럼과 같게 varchar(8)로 해주었다. 

대용량 데이터를 조회할땐, 데이터형식을 맞춰주면 성능향상이된다..고 합니다. 그렇지만 아직 그정도 데이터를 다뤄본적이 없어서 체감하지 못했습니다.

 

2. 요일 알기

SELECT DATENAME ( weekday , '20140704' );

 -> Fridate

 

3. week of year 알기

SELECT datepart(week, GETDATE());

 -> 21 (21번째 주)

 

참고자료

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017

 

CAST 및 CONVERT(Transact-SQL) - SQL Server

1, 21, 2 이진 data_type인 경우 식이 문자 식이어야 합니다.For a binary data_type, the expression must be a character expression. expression은 짝수 개의 16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, a, b, c, d, e, f)여야 합니다.The expression must have an even number of hexade

docs.microsoft.com

 

'mssql' 카테고리의 다른 글

[MSSQL] 상위 N 건 조회  (0) 2019.05.20

댓글