STR_TO_DATE 함수

설명

STR_TO_DATE 함수는 인자로 주어진 문자열을 지정된 포맷에 따라 해석하여 날짜/시간 값으로 변환하며, DATE_FORMAT 함수와 반대로 동작한다. 리턴 값은 문자열에 포함된 날짜 또는 시간 부분에 따라 타입이 결정되며, DATETIME, DATE, TIME 타입 중 하나이다.

string에 유효하지 않은 날짜/시간 값이 포함되거나, format에 지정된 포맷 지정자를 적용하여 문자열을 해석할 수 없으면 에러를 리턴한다.

인자의 연, 월, 일에는 0을 입력할 수 없으나, 예외적으로 날짜와 시간이 모두 0인 값을 입력한 경우에는 날짜와 시간 값이 모두 0인 DATE, DATETIME 타입의 값을 반환한다. 그러나 JDBC 프로그램에서는 연결 URL 속성인 zeroDateTimeBehavior의 설정에 따라 동작이 달라진다(JDBC API의 연결 설정 참고).

구문

STR_TO_DATE(string, format)

예제

SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');

 str_to_date('01,5,2013', '%d,%m,%Y')

=======================================

  05/01/2013

 

SELECT STR_TO_DATE('May 1, 2013','%M %d,%Y');

 str_to_date('May 1, 2013', '%M %d,%Y')

=========================================

  05/01/2013

 

SELECT STR_TO_DATE('13:30:17','%h:%i');

 str_to_date('13:30:17', '%h:%i')

========================================

  01:30:00 PM

 

SELECT STR_TO_DATE('09:30:17 PM','%r');

 str_to_date('09:30:17 PM', '%r')

=======================================

  09:30:17 PM

 

SELECT STR_TO_DATE('0,0,0000','%d,%m,%Y');

 str_to_date('0,0,0000', '%d,%m,%Y')
======================================
  00/00/0000