Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:58 26.05.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема query na dati s between  
Автор Budah (непознат )
Публикувано21.01.06 11:11



Zdravejte, otnovo se izvinqvam, 4e pi6a na latinica, v momenta ne pi6a ot moeto pc i na tova nqma kirilica . V mysql-a imam naredeni periodi ot dati ne6to ot roda na :

01/01/2001
02/01/2001
03/01/2001
04/01/2001
05/01/2001
06/01/2001
...
...
...
24/12/2005
25/12/2005

Ne6to takova . Sled tova s text polence iskam da izvadq vsi4ki dati mejdu 05/01/2001 i 30/06/2001 primerno -->

$query="SELECT * FROM periods WHERE (data BETWEEN '$data_na4alo' AND '$data_krai')";
$result=mysql_query($query, $connection);

Pri koeto rezultatite se vadqt rezultatite sravneni samo po syotvetniq den ot datata ot vsi4ki godini ( kakto e v primera 6te izkara ne6to ot roda na ot 05/01/2001 do 30/01/2001 + ot 05/02/2001 do 30/02/2001 + ot 05/03/2001 do 30/03/2001 ... i taka natatyk ). Abe ob6to vzeto vadi vsi4ko kydeto nameri pyrvite 2 4isla da sa mejdu 05 i 30. Malko dylgi4yk stana posta, no se opitvam da go obqsnq kakto trqbva. Popro4etoh v neta i naistina komandata between mi se stori prakti4na, no ne sravnqva simvolite sled "/". Ta zna4i vyprosa mi e kak da izvadq zapisite ot mysql-a mejdu dadenite 2 dati , kato zapisite v bazata sa za vseki den.



Тема Re: Ами то затова си има тип DATEнови [re: Budah]  
Автор salle (един такъв)
Публикувано21.01.06 14:42



Като пазиш датите в CHAR или VARCHAR мъчи се сега



Тема Re: Ами то затова си има тип DATEнови [re: salle]  
Автор Budah (непознат )
Публикувано21.01.06 16:40



Що за отговор "мъчи се". Като не можеш да помогнеш недей да пишеш глупави мнения.

Редактирано от Budah на 21.01.06 16:52.



Тема Re: Ами то затова си има тип DATEнови [re: Budah]  
Автор salle (един такъв)
Публикувано21.01.06 21:34



Ако използваш DATE твоят BETWEEN оператор ще работи чудесно без нужда от допълнителни глупости.

А в твоя случай трябва първо да форматираш датите от твоите стрингове до DATE и чак тогава ще сработи при което естествено няма да може да използва индекс т.е. баааааавно

Най-доброто до което можеш да достигнеш е комбинация от STR_TO_DATE() и BETWEEN

Изобщо най-добре е да си преправиш таблицата.


Ако пък чак толкова те мързи да погледнеш в ръководството

.. WHERE STR_TO_DATE(data, '%d/%m/%Y') BETWEEN ....

И не се оплаквай, че е бавно. Виж по-горе защо.



Тема Правиш си една аритметиканови [re: Budah]  
Автор NikB (любопитен)
Публикувано21.01.06 21:45



Правиш си една аритметика и от полето с дата отделяш само тази част, която те интересува (ако е повече от едно число - съобразяваш старшинството).
След това така получения резултат го проверяваш да бъде между желаните ти.
За примерът ти, между стринговете
'04'..'31' са всички стрингове (и никои други):
'05000000'
'30999999'
Впрочем, за какво ти в бетуина да ти сравнява след флеша (може да си форматираш стринга в заявката без флеш)?
И защо питаш за дати, като са стрингове?



Тема Re: query na dati s betweenнови [re: EFEX]  
Автор salle (един такъв)
Публикувано26.01.06 16:35



> за фунцията StrToDate имам впредвид функция която да ти връща датата в тип Integer

Ама ти не разбра ли, че той си пази датите като стрингове във формат
ден/месец/година ?



Тема Май човекът се интересува само от денянови [re: salle]  
Автор NikB (любопитен)
Публикувано27.01.06 09:57



Май човекът се интересува само от деня - аз така го разбрах - да селектира записите, в които денят е между две числа (от 5 до 30) за всеки месец.



Тема Re: Май човекът се интересува само от денянови [re: NikB]  
АвторEFEX (Нерегистриран)
Публикувано27.01.06 10:10



"Ta zna4i vyprosa mi e kak da izvadq zapisite ot mysql-a mejdu dadenite 2 dati "

Много относително го е казал ама то няма значение, мисля че е същото... btw2date = btw2time




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.