|
|
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
Есть некая БД. В таблицах есть поля типа DATE. Есть веб-приложение на PHP которое с этой базой работает. так вот. в веб приложении дата в поле писалась в виде $this->DATA = date("d.m.Y"), а в БД она хранится в виде YYYY-MM-DD. В результате в базе жуткая мешанина дат от 2007 до 2029 годов. Вопрос: можно ли как-то исправить их и сконвертировать в формат YYYY-MM-DD? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 08:45:29 |
|
||
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
Можно. Исправляй. Если же тебе ещё интересно, как именно - то для ответа на этот вопрос мало данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 08:48:25 |
|
||
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
Akina, именно мне нужно знать КАК ))). Какие данные нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 09:06:10 |
|
||
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
VitGunполя типа DATEVitGunа в БД она хранится в виде YYYY-MM-DD В БД она хранится в её, БД, внутреннем формате, а "YYYY-MM-DD" - это формат вывода. Или вы ошиблись, и на самом деле там не date, а varchar какой-нибудь. Приведите DDL таблицы и несколько записей из неё - "правильных" и "неправильных". И не забудьте указать, какие из них - "правильные" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 11:26:05 |
|
||
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
DDL и данные: http://pastebin.com/px2vLerb даты ВСЕ неверные. должен быть как минимум 2012-й год, как максимум 2013-й ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 11:34:51 |
|
||
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
VitGun, ну тогда дело за малым - понять, как мускль интерпретировал вводимую кашу и написать обратный алгоритм, приводящий кривую дату к нормальной :) Учитывая это Код: sql 1. , даты вводились в виде "29-05-2013". Мускль это понимал так: год - 2029: 29 из строки, 2000 по умолчанию; месяц - 05: месяц находится на своём месте; день - а вот день, судя по выложенным данным, всем прописывался двадцатый, т.е. тупо брались первые 2 цифры числа "2013". Ну что, исходя из этого сможете обратный алгоритм составить? extract , concat и str_to_date в помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 11:48:52 |
|
||
|
MySQL. Поле типа DATE. Формат
|
|||
|---|---|---|---|
|
#18+
tanglir, попробую. надеюсь там даты все 2013-м годом записаны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 12:14:33 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1835922]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 355ms |

| 0 / 0 |
