Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL. Поле типа DATE. Формат / 8 сообщений из 8, страница 1 из 1
08.10.2013, 08:45:29
    #38419673
VitGun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
Есть некая БД. В таблицах есть поля типа DATE. Есть веб-приложение на PHP которое с этой базой работает. так вот. в веб приложении дата в поле писалась в виде $this->DATA = date("d.m.Y"), а в БД она хранится в виде YYYY-MM-DD. В результате в базе жуткая мешанина дат от 2007 до 2029 годов. Вопрос: можно ли как-то исправить их и сконвертировать в формат YYYY-MM-DD?
...
Рейтинг: 0 / 0
08.10.2013, 08:48:25
    #38419674
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
Можно. Исправляй.

Если же тебе ещё интересно, как именно - то для ответа на этот вопрос мало данных.
...
Рейтинг: 0 / 0
08.10.2013, 09:06:10
    #38419697
VitGun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
Akina,

именно мне нужно знать КАК ))). Какие данные нужны?
...
Рейтинг: 0 / 0
08.10.2013, 11:26:05
    #38419909
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
VitGunполя типа DATEVitGunа в БД она хранится в виде YYYY-MM-DD
В БД она хранится в её, БД, внутреннем формате, а "YYYY-MM-DD" - это формат вывода.
Или вы ошиблись, и на самом деле там не date, а varchar какой-нибудь. Приведите DDL таблицы и несколько записей из неё - "правильных" и "неправильных". И не забудьте указать, какие из них - "правильные" :)
...
Рейтинг: 0 / 0
08.10.2013, 11:34:51
    #38419925
VitGun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
DDL и данные:
http://pastebin.com/px2vLerb

даты ВСЕ неверные. должен быть как минимум 2012-й год, как максимум 2013-й
...
Рейтинг: 0 / 0
08.10.2013, 11:48:52
    #38419970
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
VitGun, ну тогда дело за малым - понять, как мускль интерпретировал вводимую кашу и написать обратный алгоритм, приводящий кривую дату к нормальной :)
Учитывая это
Код: sql
1.
date("d.m.Y")

, даты вводились в виде "29-05-2013". Мускль это понимал так:
год - 2029: 29 из строки, 2000 по умолчанию;
месяц - 05: месяц находится на своём месте;
день - а вот день, судя по выложенным данным, всем прописывался двадцатый, т.е. тупо брались первые 2 цифры числа "2013".

Ну что, исходя из этого сможете обратный алгоритм составить? extract , concat и str_to_date в помощь.
...
Рейтинг: 0 / 0
08.10.2013, 12:14:33
    #38420016
VitGun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
tanglir, попробую. надеюсь там даты все 2013-м годом записаны
...
Рейтинг: 0 / 0
08.10.2013, 13:48:53
    #38420238
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL. Поле типа DATE. Формат
VitGunнадеюсь там даты все 2013-м годом записаныну если нет, то вас уже ничто не спасёт
хотя... нет ли в табличке поля, объявленного как timestamp default current_timestamp?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL. Поле типа DATE. Формат / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]