|
Почему не работает?
|
|||
---|---|---|---|
#18+
DDL Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Почему возвращает пустой результат? Код: sql 1. 2. 3. 4.
Пробовал различные форматы даты: Код: sql 1. 2. 3. 4. 5.
Переворачивал, менял локаль: SET lc_time_names = 'ru_UA'; SET lc_time_names = 'ru_RU'; не дает результата. В чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 10:51 |
|
Почему не работает?
|
|||
---|---|---|---|
#18+
Данные в таблице есть (за это число), вопрос только по выборке, почему-то не хочет искать... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 10:52 |
|
Почему не работает?
|
|||
---|---|---|---|
#18+
TIMESTAMP - это количество секунд, прошедших с начала эпохи UNIX. Когда берете функцию вида UNIX_TIMESTAMP('2019-02-18'), то получаете значение на полночь для указанной даты (часы-минуты-секнды в пределах суток не указаны). Есть именно такое значение в таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 10:59 |
|
Почему не работает?
|
|||
---|---|---|---|
#18+
vkleTIMESTAMP - это количество секунд, прошедших с начала эпохи UNIX. Когда берете функцию вида UNIX_TIMESTAMP('2019-02-18'), то получаете значение на полночь для указанной даты (часы-минуты-секнды в пределах суток не указаны). Есть именно такое значение в таблице? Да, уже нашел описание... конкретно такого нет. Проектируется подобие СКУДа(табличка прихода-ухода сотрудника), что посоветуете, оставить текущий тип поля и выбирать через LIKE ( WHERE registration.datein LIKE '2019-02-19%'), либо изменить тип поля на datetime? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 11:14 |
|
Почему не работает?
|
|||
---|---|---|---|
#18+
Валерий666либо изменить тип поля на datetime?Либо добавить поле для хранения даты (без времени) и проиндексировать его. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 12:22 |
|
Почему не работает?
|
|||
---|---|---|---|
#18+
Само выражение WHERE registration.datein=UNIX_TIMESTAMP('2019-02-18') намекает на то, что в этом поле хранится ДАТА. А не дата и время. И поневоле возникает вопрос - а вот нахрена тогда полю присвоен тип TIMESTAMP, когда есть прямо-таки стопроцентно подходящий тип DATE? из-за DEFAULT CURRENT_TIMESTAMP ? ну так сделайте то же самое триггером: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Или, если вот прёт от TIMESTAMP - так обрезайте компоненту времени: Код: sql 1.
И UNIX_TIMESTAMP(), кстати, тут сто лет нахрен не нужна - всё равно операнды будут приведены к одному типу, то есть свежеполученный unix timestamp тут же будет опять сконвертирован в datetime... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 12:54 |
|
|
start [/forum/topic.php?fid=47&fpage=39&tid=1829297]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 302ms |
total: | 436ms |
0 / 0 |