|
|
|
DATETIME min 0000-00-00 00:00:00
|
|||
|---|---|---|---|
|
#18+
Добрый день. В Таблице есть Поле DATETIME. Делаю селект по Полю Код: sql 1. Если в таблице все записи по Полю заполнены, то запрос работает корректно и возвращает минимальное значение. Если не все записи по данному полю заполнены, а лишь частично, то запрос возвращает «0000-00-00 00:00:00». Ставлю условие исключающее пустые строки типа Код: sql 1. или Код: sql 1. Эффект тот же. Как с этим бороться? Мне нужно получить минимальное значение Поля из тех записей где Поле заполнено. ПС: Не судите строго. Вопрос скорее всего элементарный, но с MySQL практически не сталкивался. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2016, 12:21 |
|
||
|
DATETIME min 0000-00-00 00:00:00
|
|||
|---|---|---|---|
|
#18+
Исторически datetime в mysql может сохранять специальное значение 0000-00-00 00:00:00. Это не null, это именно значение. На сколько помню, есть планы эту фичу удалить, но пока такое существует. Вам нужно сравнивать именно с этой датой: Код: sql 1. Если это возможно, то лучше бы это специальное значение заменить на null, что будет более ожидаемым поведением для базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2016, 12:33 |
|
||
|
DATETIME min 0000-00-00 00:00:00
|
|||
|---|---|---|---|
|
#18+
Добавлю 5ть копеек, в версии 5.7 установить значение по умолчанию «0000-00-00 00:00:00» не получится .ибудет ругаться на эти поля. Точнее , если не указать специальную директиву : [mysqld] sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2016, 12:49 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1831306]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 450ms |

| 0 / 0 |
