Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: 2012-08-27 20:38:15" - как в WHERE сделать проверку часа или дня?
Покинул форум
Сообщений всего: 42
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
Данные в БД хранятся в виде 2012-08-27 20:38:15
Как в SELECT ... WHERE сделать условие, что допустим день равен 27? И как сделать, что час равен 20?
Прошу в первую очередь ответить с точки зрения поиска подстроки в запросе MySQL. И только во вторую по поводу каких-то операция с датами. (Добавление)
К примеру в PHP это делается так:
MySQL не может использовать индекс по этому полю. Для сохранения работы по индексу и поиску всех записей на какой-то промежуток времени используйте оператор between или пару условий на границы даты.
----- PostgreSQL DBA
M-K
Отправлено: 28 Августа, 2012 - 22:05:16
Новичок
Покинул форум
Сообщений всего: 42
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
У меня СТРОКА!!! А не время-дато.
tuareg
Отправлено: 28 Августа, 2012 - 22:55:40
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
M-K пишет:
У меня СТРОКА
И что теперь делать? Наверное надо изменить формат
И кстати, и в PHP это можно сделать через ф-и даты
biperch
Отправлено: 28 Августа, 2012 - 23:58:31
Частый посетитель
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
если содержимое ячейки не противоречит формату нового типа то можно поменять тим на timestamp у него такой же формат, должно прокатить но, сделай бэкап от греха)))
Мелкий
Отправлено: 29 Августа, 2012 - 08:21:07
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
M-K пишет:
У меня СТРОКА!!!
Ваши проблемы. Должна быть datetime или timestamp. Тем более по формату хранения подходит.
В любом случае, есть функция STR_TO_DATE.
----- PostgreSQL DBA
M-K
Отправлено: 29 Августа, 2012 - 16:05:40
Новичок
Покинул форум
Сообщений всего: 42
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
Другой вопрос тепеть.
В БД содержится строка "2012-08-29 14:02:41". Как извлечь из БД только те строки, где 29 на месте 29? А не 30 или 28 и т.д...
Т.е. вместо 14:02:41 может быть что угодно, а "2012-08-29" железно.
Мелкий
Отправлено: 29 Августа, 2012 - 16:53:57
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.