MSSQL

[MSSQL] datetime 날짜변환은 FORMAT으로!

#MSSQL #convert #날짜변환 #날짜표시 #날짜표기

1. convert varchar 는 불편해!

처음 학교에서나 직장에와서 MSSQL의 datetime을 내가 원하는 형태로 표현하고자 하는 경우에 아래와 같이 하게끔 배웠었습니다.

select
  convert(varchar, reg_dt, 112) -- 20250205
from
  tbl_bbs

익숙해진 지금에야 대충 이래저래 쓴다지만, 사실 저게 불편한게 많죠. 저 상태에서 더 가공을 해야하는 경우가 특히 그러한데

-- 년도만 표기
select
  substring(convert(varchar, reg_dt, 112),1,4) -- 2025
from
  tbl_bbs

이렇게 년, 월, 일만 따로 가져오고 싶다면 쿼리로 하든 자바에서 처리를 하든 불편함이 생기기 마련입니다.


2. FORMAT을 쓰자

하지만 format을 쓰면 굳이 그러지 않아도 되지요. 아주 편해요!

select 
  format(reg_dt, 'yyyyMMdd') -- 20250205
from
  tbl_bbs

이렇게 내가 원하는 형태를 바로 지정해서 출력 해버릴 수 있기 때문입니다. 년도만 표기해본다 치면

select 
  format(reg_dt, 'yyyy') -- 20250205
from
  tbl_bbs

이렇게 할 수도 있고 “년-월-일 시:분” 혹은 “년-월-일 시:분:초” 를 표시하고 싶다면

select 
  format(reg_dt, 'yyyy-MM-dd HH:mm:ss') -- 2025-02-05 13:22:12
  format(reg_dt, 'yyyy-MM-dd hh:mm') -- 2025-02-05 01:22
from
  tbl_bbs

이렇게 간단한 방법으로 출력이 가능합니다.


3. 쉬운걸 쓰자

개인적으로는 format을 사용하는 것이 압도적으로 편하고 쉽다 생각하는데, MSSQL뿐 아니라 다른 DB도 만지시는 분들은 그냥 일관되게 convert를 쓰는게 나을 수도 있습니다.

본인의 취향에 따라서 골라서 슬기로운 코딩생활 해봅시다!

배곧동개발자

Recent Posts

[세븐나이츠 리버스] 쫄작 가이드 (기초편)

#세븐나이츠리버스 #쫄작 #가이드 #꿀팁 #제이브 그 옛날, 세나를 해보신 분들이라면 모를 수 없으나 이제 세븐나이츠…

3주 ago

[세븐나이츠 리버스] 최신 쿠폰 공유! 쿠폰 입력 방법! (5월15일)

1. 세븐나이츠 리버스 오늘, 2025년 5월 15일에 오픈한 세븐나이츠 리버스! 다들 시작하셨나요? 제이브를 뽑고싶은데 아직…

3주 ago

[CSS] 이미지가 빙빙 돈다? animation spin

#css #spin #animation #spin 1. 이미지가 빙빙돈다! 어? 이게 뭐지? 이미지가 빙빙 돕니다. 나 이거…

1개월 ago

[node.js] npm.ps1 파일을 로드할 수 없습니다

#노드js #nodejs #에러 #오류 #npm 1. npm.ps1 Error node js 를 설치 후 npm을 이용하려…

2개월 ago

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

3개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

3개월 ago