2013-03-13 5 views
3

날짜 시간을 varchar로 변환하려고합니다. 이것은 현재 가지고있는 것이며, 저에게는 효과가 없습니다. 난 항상이 값을 가질 수mysql에서 varchar를 datetime 형식으로 변환하는 방법

STR_TO_DATE(REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',','),'%m-%d-%Y %T') 

이 다음 코드는 5,16,2011 20시 14분

select REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',',') 

내 전류 출력 emply 문자열 지금 반환합니다. 그것이되어야합니다 2011-05-16 20:14:00

어떻게 작동합니까?

감사

+2

'20:14 PM'이 중복됩니다. 왜 그런 시간이야? –

답변

15

당신의 VARCHAR이 같은 경우 : 당신이 원하는 것처럼

SELECT STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i') 

하거나 포맷하기 :

5/16/2011 20:14 PM 

이 사용 날짜로 변환 할 수 있습니다

SELECT DATE_FORMAT(STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i'), '%Y-%m-%d %H:%m:%s') 
+0

내가 찾는 최종 값은 2011-05-16 20:14:00 반환 값 2011-05-16 오후 8:14:00 – Jaylen

+0

@Mike는 업데이트 된 답변 – fthiella

+0

을 참조하십시오. 내 열 값만 시간이 맞으면 어떻게해야합니까? , 같이 : 04:00 –

관련 문제