MySQL — конвертирование varchar в date — тип данных


MySQL Сегодня понадобилось перевести таблицы из базы данных .dbf в таблицы БД MySQL 5. Нашел несколько программ в интернете для экспорта данных и экспортировал их в формат CVS.

Все было бы хорошо, если бы экспортируемая в строковой тип дата автоматически преобразовывалась в MySQL — date.

У меня появилась задача, преобразовать тип varchar25.04.2007‘ в формат date2007-04-25‘. Для этого я создал дополнительное поле с типом данных DATE.

Привожу ниже MySQL скрипт:

UPDATE `table1`
SET `new_date` = CONCAT(
SUBSTRING_INDEX( `date_str` , '.', -1 ) ,  '-',
SUBSTRING_INDEX( SUBSTRING_INDEX( `date_str` , '.', 2 ) , '.' , -1 ) ,  '-',
SUBSTRING_INDEX( `date_str` , '.', 1 ) ) ;

date_str — это поле varchar c датой в формате ‘25.04.2007

new_date — это поле date c датой в формате ‘2007-04-25

Кому любопытно, можете посмотреть, что делают такие функции как CONCAT, SUBSTRING_INDEX:

SELECT `date_str` ,
CONCAT(SUBSTRING_INDEX(`date_str` , '.', -1 ), '-',
SUBSTRING_INDEX(SUBSTRING_INDEX( `date_str` , '.', 2 ),'.',-1), '-',
SUBSTRING_INDEX( `date_str` , '.', 1 )) AS newdate
FROM `table1`

Вот так я решил эту задачку без использования PHP. Надеюсь, кому-то это понадобится.

Share

Читайте ещё похожие статьи на этом сайте:

  1. MySql удаленное подключение, доступ по сети
  2. Задача по MySQL, работа с датой и интервалом
  3. Timestamp 1234567890 секунд
1 балл2 балла3 балла4 балла5 баллов (Без рейтинга)
Loading ... Loading ...
MySQL, Программирование


Если Вам понравилась эта статья, пожалуйста оставьте свой комментарий или подпишитесь на RSS-канал и получайте в будущем статьи на RSS Reader.

Комментарии

13 комментария (ев) для “MySQL — конвертирование varchar в date — тип данных”

Написать комментарий

(обязательно)

(обязательно, не публикуется)