DATETIME & CASE (작성중)

Eunho Bae·2022년 3월 9일
0
post-thumbnail

DATETIME

현재 날짜를 DATETIME 포멧으로 가져오는 방법에는 여러가지가 있다.
CURRENT_TIMIESTAMP를 사용하거나, 문자열을 DATETIME으로 캐스팅을 해도된다.
DATETIME은 연/월/일/시/분/초

문자열을 포맷에 따라 변환할 수 있다.
YYYYMMDD hh:mm:ss.nnn 또는
YYYY-MM-DDhh:mm

특정 시간 이후의 데이터만 가져오고 싶은 경우

SELECT * 
FROM test
WHERE time >= '20090101'

time이 문자열을 간접적으로 캐스팅해주기 때문에 DATETIME으로 직접 CAST 해주지 않아도 된다.

시간과 관련된 연산

시간 덧셈/뺄셈

SELECT DATEADD(YEAR, 1, '20210309')
SELECT DATEADD(DAY, -11, '20210309')
SELECT DATEADD(SECOND, 111, '20210309')

날짜 차이 계산

DATEDIFF(SECOND, '20220308', '20200309') // 86400 출력

년/월/일 출력

SELECT YEAR('20220309'); // 2022
SELECT MONTH('20220309); // 3
SELECT DAY('20220309); // 9

CASE

switch문과 비슷하다.
ELSE가 없으면 birthSeason에 NULL이 들어간다.


  • GETDATE()는 현재 로컬 컴퓨터 시각 기준으로 만약 게임이 여러나라에서 서비스할 경우 서버 컴퓨터가 각각 다른 시간대를 사용할 수 있다. 그러므로 시차를 적용해야 하는데 GETUTCDATE()를 사용하면 GMT 기준으로 시차를 적용해서 DATETIME을 반환해준다.
profile
개인 공부 정리

0개의 댓글