Strona 1 z 3 123 OstatniOstatni
Pokaż wyniki od 1 do 10 z 23

Temat: phpMyAdmin

  1. #1
    Obserwator
    Dołączył
    May 07
    Postów
    22
    Siła Reputacji
    0


    Twoja ocena: Yes No

    phpMyAdmin

    Witam
    Tworząc sobie bazę danych użyłem narządzia phpMyAdmin dołączonego do programu KrasnalServ. Czy istnieje jakaś komenda dzięki, której mógłbym operaować na datach?
    Bo jak wpisuję w phpMyAdmin zapytanie SQL:

    Kod php:
    SELECT MONTHS_BETWEEN(SYSDATEdata)
    FROM przeglad_naprawa
    To mi wyświetla błąd. Nie mogę nawet wywołać prostej funkcji typu:

    Kod php:
    SELECT SYSDATE
    FROM DUAL

    Bo mi mówi że nie ma takiej tabeli (jakbym nie wiedział :? ). Bardzo proszę o pomoc w tej kwestii, bo nie wiem co mam teraz zrobić. Z góry dziękuję za pomoc, pozdrawiam, narka. Simon

  2. #2
    Obserwator
    Dołączył
    April 07
    Postów
    336
    Siła Reputacji
    0


    Twoja ocena: Yes No

    Cool

    SELECT SYSDATE() FROM DUAL;
    U mnie działa... z nawiasami ;-)


    Za to nie mam funkcji MONTHS_BETWEEN :-?

  3. #3
    Obserwator
    Dołączył
    May 07
    Postów
    22
    Siła Reputacji
    0


    Twoja ocena: Yes No

    A jakiego narzędzia używasz bo u mnie to nawet z nawiasami nie działa

  4. #4
    Obserwator
    Dołączył
    April 07
    Postów
    336
    Siła Reputacji
    0


    Twoja ocena: Yes No

    Ja to hardcorowo: "MySQL Command Line Client".
    (z głupich pytań: mówmy o bazie MySQL? 8) )

    Właśnie znalazłem opis bug-a w MySQL:
    http://bugs.mysql.com/bug.php?id=15101
    Wynika z niego, że funkcja sysdate() została jakoś pozmieniana w MySQL 5.0.17. Alternatywą jest używanie funkcji now().

    Jakiej wersji MySQL używasz? Być może musiałbym spróbować tej samej.
    Ja mam "server version: 5.0.37-community-nt MySQL Community Edition (GPL)".

  5. #5
    Obserwator
    Dołączył
    May 07
    Postów
    22
    Siła Reputacji
    0


    Twoja ocena: Yes No

    MySQL 3.23.58 - oto wersja, której aktualnie używam (oferowana przez krasnala )
    Właśnie też udało mi się dokopać do tych informacji, masz rację funkcja
    Kod php:
    Select now() 
    pokazuje nie tylko date, ale też aktualny czas. Mi wystarczy tylko data co można uzyskać dzięki funkcji:

    Kod php:
    Select curdate(); 
    Ale nie mogę wykombinować jak odjąć dwie daty od siebie, ażeby uzyskać ilość dni (miesięcy), jak między nimi upłynęła. Zapytanie np:

    Kod php:
    Select (2005-03-25)-(2005-06-11); 
    zwraca błędny wynik, że nie wspomnę już o:

    Kod php:
    Select (curdate())-(2005-06-11); 
    Czy masz może jakiś pomysł na operacje na datach? Próbowałed już z adddate, datediff, ale nie działa .

  6. #6
    Obserwator
    Dołączył
    April 07
    Postów
    336
    Siła Reputacji
    0


    Twoja ocena: Yes No

    Cytat Napisał simon111 Zobacz post
    Zapytanie np:
    Kod php:
    Select (2005-03-25)-(2005-06-11); 
    zwraca bdny wynik (...)
    (2005-03-25)-(2005-06-11) = 1977 - 1988 = -11 <- taki powinien by wynik ;-)

    Jak by mia wersj MySQL 4.1.1 lub nowsz, to sprawa prosta:
    Kod:
    Select datediff(20050325,20050611);
    Select datediff('2005-03-25', '2005-06-11');
    Oba zwracaj -78.

    Natomiast w Twojej wersji powinno zadziaa:
    Kod:
    Select to_days('2005-03-25') - to_days('2005-06-11');
    radz zajrze do http://dev.mysql.com/doc/refman/4.1/...nction_to-days bo nie zawsze mona tej funkcji uywa.

    Konwersja na "miesice", np.:
    Kod:
    Select truncate( (to_days('2005-03-25')-to_days('2005-06-11'))/30, 0);
    8)

  7. #7
    Obserwator
    Dołączył
    May 07
    Postów
    22
    Siła Reputacji
    0


    Twoja ocena: Yes No

    Dzięki wielkie za odpowiedź, właśnie o to mi chodziło i teraz wszystko wymiata mi tak jak właśnie tego chciałem oklony:
    Myślę, że temat można uważać za zamknięty, chyba, że jeszcze ktoś chce coś dopisać ;p
    Pozdrawiam i jeszcze raz dziękuję, narka.

  8. #8
    Obserwator
    Dołączył
    January 07
    Postów
    493
    Siła Reputacji
    0


    Twoja ocena: Yes No

    To ja sobie chcę dodać: http://dev.mysql.com/doc/refman/5.0/...functions.html

    Zwróć szczególną uwagę na wyrażenia typu timediff, day, interval, hour itp...

  9. #9
    Obserwator
    Dołączył
    April 07
    Postów
    336
    Siła Reputacji
    0


    Twoja ocena: Yes No

    Cool

    Cytat Napisał RRybak Zobacz post
    To ja sobie chcę dodać: http://dev.mysql.com/doc/refman/5.0/...functions.html

    Zwróć szczególną uwagę na wyrażenia typu timediff, day, interval, hour itp...
    RRybak, podałeś niestety linka do notatek dla wersji MySQL 5.x. Simon111 używa MySQL 3.23.58, a w niej jeszcze nie ma timediff, day, etc. Te funkcje są dostępne dopiero od wersji v4.1.1 (jak można zauważyć na stronie, którą podałeś).

  10. #10
    Obserwator
    Dołączył
    May 07
    Postów
    22
    Siła Reputacji
    0


    Twoja ocena: Yes No

    A macie może pomysł dlaczego nie chce wykonać mi tego pytania?:

    Kod php:
    SELECT lpp_nid_drukarkidata
    FROM przeglad_naprawa
    WHERE lpp_n 
    ANY (SELECT lpp_n
    FROM przeglad_naprawa
    GROUP BY id_drukarki

    Jak zadaje je oddzielnie to wychodzi, ale gdy przyrównuje z ANY to tak jakby nie rozumiał tego polecenia.

Informacje o temacie

Users Browsing this Thread

Aktualnie 1 użytkownik(ów) przegląda ten temat. (0 zarejestrowany(ch) oraz 1 gości)

Zakładki

Zakładki

Uprawnienia

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  

Jak czytać DI?

Powered by  
ATMAN EcoSerwer