STR_TO_DATE函数在mysql中返回null

问题描述:

SELECT STR_TO_DATE(LEFT(booking_date , 10), '%c/%e/%Y') from mycase 

booking_date是我的字段,包含01-10-2015 Evening(3PM - 6PM)之类的数据。STR_TO_DATE函数在mysql中返回null

我想先获取日期,然后我想在MySQL中将其转换为日期类型。

+2

,什么是你的问题? – vitozev

您需要更改/-str_to_time功能,因为您输入日期的格式为01-10-2015

mysql> SELECT STR_TO_DATE(LEFT('01-10-2015 Evening (3PM - 6PM)' , 10), '%c-%e-%Y') as d ; 
+------------+ 
| d   | 
+------------+ 
| 2015-01-10 | 
+------------+ 

SELECT STR_TO_DATE(LEFT(booking_date , 10), '%c-%e-%Y') from mycase 
+1

它的工作,但是当我把booking_date instandof字符串它将返回null –

+0

那么在这种情况下,你可能有列中的混合模式。尝试在函数中使用'trim(booking_date)'。 –

+1

嘿,现在工作了。 –