2015-10-06 4 views
1
SELECT STR_TO_DATE(LEFT(booking_date , 10), '%c/%e/%Y') from mycase 

Резервирование_отместное мое поле и содержит данные типа 01-10-2015 Вечер (3PM - 6PM).STR_TO_DATE функция возвращает null в mysql

И я хочу, чтобы сначала получить дату, и после этого я хочу преобразовать это в тип даты в MySQL.

+2

А в чем проблема? – vitozev

ответ

0

Вам нужно изменить / к - в функции 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

его работа, но когда я ставлю book_date instandof string, он вернет нуль –

+0

В этом случае у вас может быть смешанный шаблон в столбце. попробуйте использовать 'trim (booking_date)' внутри функции. –

+1

Эй, теперь это работа. –

Смежные вопросы