Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка запросов по дате в форме 01.05.2013
 
 автор: amsokol   (01.05.2013 в 20:50)   письмо автору
 
 

Ребят, помогите пожалуйста, немогу решить проблему.
В базе данных mysql есть таблица со строкой data, значение строки в таком формате 01.05.2013
Необходимо создать правильный запрос к базе, чтобы выбрать все строки где в data есть к примеру 05 и 2013, или 07 и 2014 в таком духе. У кого есть варианты, рад услышать.

  Ответить  
 
 автор: confirm   (01.05.2013 в 21:12)   письмо автору
 
   для: amsokol   (01.05.2013 в 20:50)
 

В базе дату нужно хранить не в строке, а поле типа date, и надлежащем формате YYYY-mm-dd, тогда и проблем с выбором не будет. Переделайте.

  Ответить  
 
 автор: psychomc   (01.05.2013 в 21:24)   письмо автору
 
   для: confirm   (01.05.2013 в 21:12)
 

иногда еще довольно удобно использовать int(11)

  Ответить  
 
 автор: confirm   (01.05.2013 в 21:30)   письмо автору
 
   для: psychomc   (01.05.2013 в 21:24)
 

Чтобы в timestamp хранить? Так такой тип поля и так есть.

  Ответить  
 
 автор: psychomc   (01.05.2013 в 21:38)   письмо автору
 
   для: confirm   (01.05.2013 в 21:30)
 

да, есть. но не во всех же субд

вот интересный рассуждения на этот счет http://pavel-koryagin.livejournal.com/15512.html
ну и многие популярные cms используют int

p.s прекрасно понимаю, что в таком случае нельзя использовать встроенные функции, которые можно использовать для работы с полями типа date/datetime/time/timestamp, но не припомню на своей практике (может быть не очень большой), чтобы из-за этого были какие-то трудности

  Ответить  
 
 автор: confirm   (01.05.2013 в 21:58)   письмо автору
 
   для: psychomc   (01.05.2013 в 21:38)
 

С полем TIMESTAMP как раз никаких трудностей нет, а вот держать в строке типа 01.05.2013, это ни к чему.

  Ответить  
 
 автор: psychomc   (01.05.2013 в 22:01)   письмо автору
 
   для: confirm   (01.05.2013 в 21:58)
 

>а вот держать в строке типа 01.05.2013
хм, это наверное даже epic fail...

  Ответить  
 
 автор: confirm   (01.05.2013 в 22:16)   письмо автору
 
   для: psychomc   (01.05.2013 в 22:01)
 

Что вы говорите...
Дата это вообще формат своеобразный, и представлений, и условий по выборке может требоваться множество. И вы хотите сказать, что ваша строка это как раз то что и нужно в данном случае?
Ну-ну....

  Ответить  
 
 автор: psychomc   (01.05.2013 в 22:21)   письмо автору
 
   для: confirm   (01.05.2013 в 22:16)
 

>И вы хотите сказать, что ваша строка это как раз то что и нужно в данном случае?
О_о я ничего такого не говорил...

  Ответить  
 
 автор: confirm   (01.05.2013 в 22:24)   письмо автору
 
   для: psychomc   (01.05.2013 в 22:21)
 

Извиняюсь, даже не знаю с чего я взял, что это коммент автора топика... Даже подумал, вот паразит, еще и издевается.. :)

  Ответить  
 
 автор: psychomc   (01.05.2013 в 22:35)   письмо автору
 
   для: confirm   (01.05.2013 в 22:24)
 

ничего страшного, бывает)

  Ответить  
 
 автор: cheops   (01.05.2013 в 21:18)   письмо автору
 
   для: amsokol   (01.05.2013 в 20:50)
 

Можно использовать запросы вида
SELECT * FROM data LIKE '%.05.2013'

  Ответить  
 
 автор: amsokol   (01.05.2013 в 22:03)   письмо автору
 
   для: cheops   (01.05.2013 в 21:18)
 

Спасибо за ответ, Тема закрыта

  Ответить  
 
 автор: Valick   (03.05.2013 в 12:57)   письмо автору
 
   для: amsokol   (01.05.2013 в 22:03)
 

LIKE в данном случае неоправданная нагрузка на БД.

  Ответить  
 
 автор: cheops   (03.05.2013 в 13:02)   письмо автору
 
   для: Valick   (03.05.2013 в 12:57)
 

Не известно на самом деле оправданная или не оправданная, у нас нет данных по объемам базы и количеству запросов. Но то, что это один самых медленных вариантов - никаких сомнений.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования