server application에서 date형식을 대개 파싱하지만 sql에서 query문을 통해 파싱하는 것도 가능하고 알아두어서 나쁠 것 없다고 생각했다.
sql에서 Date 형식을 가져올 때 어떻게, 어느 수준까지 파싱이 가능한가 알아보고 정리하고자 한다.
대개 이런 Format으로 db에 date 정보들이 저장되어있을 것이다.
이 것을 입맛에 맞게 query문을 통해 어떻게 파싱한 값을 가져올 수 있는지 알아보자
select date(datetime) from table
datetime 자료형을 parameter로 하면 return 값으로 yyyy-MM-dd 형식의 데이터를 준다.
위 데이터를 yyyy-MM-dd 형식으로 가져오려한다면
select date(datetime) from table
구문 쿼리를 통해
형태의 값을 return 한다.
select date_format(datetime (param1),'%Y-%m-%d'(param2)) from table
param1에 datetime 자료형의 값을 넣고 param2에 원하는 형식의 자료형 값을 넣어주면 그 형태의 return 값을 준다.
두번째 parameter는 string 값으로 아래의 구분기호들의 조합을 통해 커스텀이 가능하다.
[예시]
select date_format(datetime,'%y년 %m월 %d일')from table
result
select date_format(datetime,'%Y years %m month %D days')from table
result
datetime를 파라미터로 년,월,일,시,분,초를 각각 뽑아낼 수 있다.
만약
select hour(datetime) from table
구문은 수행하면
2013-01-01 11:00:00에서
2013만을 리턴한다.