2016-11-03 2 views
0

varchar를 날짜로 변환하려고하면 반환 값에 Null 값이 표시됩니다.str_to_date는 null + mysql을 반환합니다.

내 열에 05-MAR-2015 값이 있습니다.

다음 쿼리를 실행하고 있습니다.

select STR_TO_DATE('n.Invoice_date','%d-%c-Y') from table n; 

위 쿼리를 실행하면 반환 값이 null이됩니다.

날짜 형식으로 새 열을 소개하고 싶습니다.

+2

당신은 Y''전'%'를 잊었하고 formattor가 '해야한다'% D- % B- % Y'' –

+0

당신의 문자열 형식이 정확히 무엇이다 Invoice_date 란? –

답변

1

리터럴 문자열 'n.invoice_date'은 유효한 날짜가 아닙니다. 당신은 무엇을 의미하는 것은 :

SELECT STR_TO_DATE(n.invoice_date, '%d-%b-%Y') FROM TABLE n 
+0

MYSQL에서 SELECT STR_TO_DATE ('05 -MAR-2015 ','% d- % c- % Y ');를 실행하려고했으나 작동하지 않습니다. 아마 유효한 날짜가 아닐까요? – rbr94

+0

답장을 보내 주셔서 감사합니다. 그래 너가 옳아. 거기에 별칭이 필요한가요? – user2663104

+0

'n.' 부분은 생략 할 수 있습니다. – tadman

0

귀하의 오류가 날짜를 얻을 %c 대신 %b의 사용에있다. 날짜 서식을 날짜 값 작성과 혼합했습니다. 이것은을 수행해야합니다 여기에 당신이 먼저가 필드에 저장되는 형식과 일치해야합니다 STR_TO_DATE와 데이트를 만들 2015년 5월 3일

:이 결과

SELECT DATE_FORMAT(STR_TO_DATE(n.invoice_date,'%d-%b-%Y'), '%d-%c-%Y') FROM table n; 

. 그런 다음 원하는 방식으로 DATE_FORMAT으로 서식을 지정할 수 있습니다.

은 자세한 내용은 MYSQL 문서를 참조하십시오 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

+0

의견을 보내 주셔서 대단히 감사합니다. 다음 쿼리를 사용했습니다 - dw.spend_nordic;에서 SELECT str_to_date (lower (Invoice_date), '% d- % b- % Y'); – user2663104

관련 문제