본문 바로가기
5. 데이터베이스 관리/5.2 SQLITE

[SQLLITE] 요일, 주차, 월간, 분기, 반기 구하기

by 용심장 2024. 5. 14.
300x250

SQLLITE 에서 요일, 주차, 월간, 분기, 반기 구하는 방법에 대해 알아보겠습니다.

 

이전에 올렸던 글을 응용하여 아래와 같은 방법으로 구현을 하였습니다. 

 

아래에 작성한 내용을 근거로 미국 주식의 일별, 주별, 월별, 반기, 분기별 상승률을 쉽게 구할수 있겠습니다. 

 

 

https://money2ja.redhong3.com/entry/SQLLite-%EB%82%A0%EC%A7%9C-%ED%99%9C%EC%9A%A9-strftime

 

[SQLLite] 날짜 활용 (strftime)

SQLLite 에서 날짜 형식의 String을 활용하는 방법을 확인해 본다. SELECT t.reg_date ,strftime('%F',reg_date) "%F" -- ISO 8601 날짜 : YYYY-MM-DD ,strftime('%T',reg_date) "%T" -- ISO 8601 시간 : HH:MM:SS ,strftime('%R',reg_date) "%R" --

money2ja.redhong3.com

 

 

 

SELECT t.*
		,strftime('%u',reg_date) "%u"		-- 요일
		,strftime('%W',reg_date) "%W"		-- 주차
		,strftime('%Y-%m',reg_date) "%Y-%m"	-- 년-월
		, CASE 				
			WHEN strftime('%m',reg_date) IN ('01','02','03') THEN '1'
			WHEN strftime('%m',reg_date) IN ('04','05','06') THEN '2'
			WHEN strftime('%m',reg_date) IN ('07','08','09') THEN '3'
			WHEN strftime('%m',reg_date) IN ('10','11','12') THEN '4'
		END QUARTER
		, CASE 				
			WHEN strftime('%m',reg_date) IN ('01','02','03','04','05','06') THEN '1'
			WHEN strftime('%m',reg_date) IN ('07','08','09','10','11','12') THEN '2'
		END HALF
FROM usa_stock_chart t 
WHERE SYMBOL = 'MSFT'
ORDER BY symbol
		, reg_date desc;

 

반응형

'5. 데이터베이스 관리 > 5.2 SQLITE' 카테고리의 다른 글

[SQLITE] 일목균형표 구하기  (0) 2024.05.16
[SQLLite] 날짜 활용 (strftime)  (0) 2024.05.14