[mysql] mysql에서 문자열을 날짜로 변환하는 방법은 무엇입니까?

a string역할을 하는 열이 date있고로 선택하고 싶습니다 date.

가능합니까?

내 샘플 데이터 형식은 다음과 같습니다. month/day/year->12/31/2011



답변

MySQL 에서 말했듯이 날짜 텍스트가 날짜 필드문자열 열을 사용 하면 할 수 있습니다

SELECT  STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM    yourtable

WHERE절 에서 이러한 날짜 문자열을 처리 할 수도 있습니다 . 예를 들어

SELECT whatever
  FROM yourtable
 WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY

이런 식으로 모든 종류의 날짜 / 시간 레이아웃을 처리 할 수 ​​있습니다. 를 참조하십시오 의 형식 지정 DATE_FORMAT()기능 당신의 두 번째 매개 변수에 넣을 수있는 볼 STR_TO_DATE().


답변

STR_TO_DATE('12/31/2011', '%m/%d/%Y')


답변

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
위의 페이지를 사용하여 MySQL에서 더 많은 함수를 참조하십시오.

SELECT  STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM    table

예를 들어 아래 쿼리를 사용하여 출력을 얻으십시오.

SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table

문자열 형식의 경우 아래 링크를 사용하십시오

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format


답변

또 다른 두 가지 예가 있습니다.

일, 월 및 년을 출력하려면 다음을 사용할 수 있습니다.

select STR_TO_DATE('14/02/2015', '%d/%m/%Y');

어느 생산 :

2015-02-14

시간을 출력하려면 다음을 사용할 수 있습니다.

select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');

어느 생산 :

2017-02-14 23:38:12


답변