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

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

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

Страници по тази тема: 1 | 2 | (покажи всички)
Тема search by dateнови  
Авторlvo (Нерегистриран)
Публикувано04.08.03 15:30



Imam 4 poleta, event(varchar), year(int), mont(2) i day(2)

zapisite predstavliavat slednoto neshto:

'hello world', '2002', '2', '21'

triabva mi query s koeto moga da izvadia event predi/sled opredelena data.



Тема Защо са ти 3 полета за дата? [re: lvo]  
Авторbira_more (Нерегистриран)
Публикувано04.08.03 16:44



Ако е едно - нямаш проблем ама 3?
Сигурно и сега има някакъв чалъм да направиш ненужно сложна заявка която първо да направи едно поле от трите пък после да сравнява, ама е малко над нивото ми :)))



Тема Re: search by dateнови [re: lvo]  
Автор Dakota (erotoman)
Публикувано04.08.03 17:41



Използвай едно DATE поле, вместо 3.

Иначе винаги можеш да използваш DATE_FORMAT(CONCAT(year,'-',mont,'-',day), '%Y-%m-%d'), за да получиш желаното поле, но е тъпо така.

Everything louder than everything else...


Тема Re: Има Защонови [re: bira_more]  
Автор salle (член)
Публикувано04.08.03 21:22



Представи си, че често ти трябват заявки в стил

... WHERE month = 3;



Тема Re: search by dateнови [re: Dakota]  
Авторwaflata (Нерегистриран)
Публикувано05.08.03 14:27



ами добре де, защо не ги конверирасх само ВЕДНЪЖ вав дата, и после пишеш:

-----------------------------------------
SELECT event, event_date

FROM events

WHERE YEAR(event_date) = YEAR(NOW()) AND MONTH(event_date) = 3

ORDER BY event_date DESC
----------------------------------------

и така става, поне за mySQL трябва да бачка. Идеята е, че е добре да слагаш и годината защото ако имаш "events" от 2 години, ще стане зле.



Тема Сигурно си прав ама ...нови [re: salle]  
Авторbira_more (Нерегистриран)
Публикувано05.08.03 14:30



ако ми трябва
WHERE month = 3
сигурно ще ми свърши работа и
WHERE mydate like '200303%'
Мисълта ми е че ако ми трябва нещо за даден месец то обикновено е от дадена година*
Пък ако ти трябват и двете често - нарушаваш правилата и си правиш 4 полета :)
Де да знам - не ми е трябвало само месец (без година) не съм ровил.
________
* А съм сигурен цхе имаше чалъм да се изберат датите само по месец ама пак беше нещо през крив макарон:)



Тема Re: search by dateнови [re: waflata]  
Автор salle (член)
Публикувано05.08.03 18:11



Защото фафла това е бавно.

WHERE YEAR(event_date) = YEAR(NOW()) AND MONTH(event_date) = 3

Не може да се е използва никакъв индекс за да се оптимизира тази заявка.

Докато същото нещо написано по друг начин може:

WHERE event_date BETWEEN DATE_FORMAT(CURDATE(), "%Y-03-01") AND DATE_FORMAT(CURDATE(), "%Y-04-01");



Тема Re: Сигурно си прав ама ...нови [re: bira_more]  
Автор salle (член)
Публикувано05.08.03 18:15



WHERE mydate like '200303%'

Сигурно няма да ти свърши работа в общия случай!

Първо не е много хитро да конвертираш mydqte до стринг за да работи LIKE и второ защото така разчиташ на специфичен формат който пък за момемнта е такъв САМО за TIMESTAMP и то преди 4.1

В 4.1 заради съвместимост и стандартите TIMESTAMP връща същий формат като DATETIME по подразбиране.

Изобщо навика да работиш с дати и времена като със стрингове не е много читав. Ама никак.



Тема Re: search by dateнови [re: salle]  
АвторWaflata (Нерегистриран)
Публикувано06.08.03 11:23



Ммдаа, имаш право. По-добре е.



Тема Mersi za TIMESTAMP инфотонови [re: salle]  
Авторbira_more (Нерегистриран)
Публикувано06.08.03 15:47



По принцип като работя с дати часове и т.н. ползвам едно единствено нещо - double аз си имам грижа за конверсиите.
Въобще не смея да разчитам на някакъв стандарт - още от време оно съм брал ядове с BDE и например 1999 г. и BDE то е до там види ли си г. ....
От там на сетне аз си знам как да си подредя година месец ден а и съм си направил достатъчно рутини за конверсии, дисплей и т.н.
Зная че не е най-коректното решение, но BD са една част от дейността ми а основното са приложения които от време на време ползват BD
А ако има промени във формата на timestamp - май ме чакат ядове в бъдеще ;)
И никога нямам време да реша един проблем като хората в болшинството случаи все намирам време най-много да го заобиколя :(((




Страници по тази тема: 1 | 2 | (покажи всички)
*Кратък преглед
Клуб :  


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

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