TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
SQL problem z wyborem rekordu młodszego niż X dni , laciak88 27/03/10 12:55 Witam!
Mecze, mecze i zmeczyc nie moge. Potrzebuje wyswietlic z tabeli adresy ip, ktore sa nie starsze niz 30 dni. Pisze w visual studio 2008 i mecze Accessowa bazke. Probowalem cos takiego:
"SELECT `ip_address_db` FROM tab WHERE `ip_address_db` = '" + address + "' AND `date_db` > DATESUB(d, 30, GETDATE())"
efekt:
Nie zdefiniowana funkcja 'DATESUB' w wyrażeniu.
"SELECT `ip_address_db` FROM tab WHERE `ip_address_db` = '" + address + "' AND `date_db` > DATEADD(d, -30, GETDATE())"
efekt:
Nie zdefiniowana funkcja 'GETDATE' w wyrażeniu.
"SELECT `ip_address_db` FROM tab WHERE `ip_address_db` = '" + address + "' AND `date_db` > DATEADD(d, -30, '2010-03-27')"
efekt:
Nie podano wartości dla jednego lub kilku wymaganych parametrów.
"SELECT `ip_address_db` FROM tab WHERE `ip_address_db` = '" + address + "' AND `date_db` > DATESUB(CURDATE(), INTERVAL 30 DAY)"
efekt:
Funkcja IErrorInfo.GetDescription nie powiodła się z E_FAIL(0x80004005).
"SELECT `ip_address_db` FROM tab WHERE `ip_address_db` = '" + address + "' AND `date_db` > (CURDATE() - INTERVAL '30' DAY)"
efekt:
Funkcja IErrorInfo.GetDescription nie powiodła się z E_FAIL(0x80004005).
Co robie zle i jak powinienem rozwiazac problem?
Pozdrawiam!"To Alcohol! The cause of, and solution to, all of
life's problems." - dodam , laciak88 27/03/10 12:59
ze w kolumnie data_db jest data w formacie rrrr-mm-dd"To Alcohol! The cause of, and solution to, all of
life's problems." - rozwiazanie , laciak88 27/03/10 15:31
"SELECT `asn_db` FROM tab WHERE `ip_address_db` = '" + address + "' AND (DATE() - `date_db`) < 30"
MS Access nie ma curdate(), tylko date() i nie ma datesub(), a dateadd() cos tez mi problemy sprawialo"To Alcohol! The cause of, and solution to, all of
life's problems." - Z punktu wydajnosci chyba lepiej aby... , Kilgor-Admin 27/03/10 16:15
... przy porwnaniu nie przetwarzal kazdego rekordu i odejmowal dni lepiej porownywac bez przetwarzaniaPozdr. Kilgor
Admin Board'a - mozesz szerzej? , laciak88 27/03/10 16:23
wyjasnij i najlepiej podaj przyklad, bo w sqlu nie siedze, ale zaciekawiles mnie tym. W tym konkretnym wypadku wydajnosc nie musi byc wielka, bo jest to bardzo prosta baza podreczna tylko."To Alcohol! The cause of, and solution to, all of
life's problems."
- Ale lepiej miec chyba lepsze nawyki , Kilgor-Admin 27/03/10 19:58
przyklad w mysql baza duzo rekordow z nalozym na pole daty indexem
select * from tabela where poledaty>=DATE_SUB(Now(), INTERVAL 12 HOUR)
select * from tabela where DATE_ADD(poledaty, INTERVAL 12 HOUR)>=Now()
Drugi prrzyklad bedzie maglowal bo musi dodac do kazdego pola godziny
pierwszy doda raz i uzyje indexow pomijam uzywanie Now() w mysql ktore nie pozwala na query cacheale to juz inna bajkaPozdr. Kilgor
Admin Board'a - jasne , laciak88 27/03/10 23:28
pierwsze nie zadzaial, a z drugim musze jeszcze powalczyc; moze cos zdzialam"To Alcohol! The cause of, and solution to, all of
life's problems."
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|