ďťż
 
[MySQL4] odejmowanie dat i wynik w godzinach ďťż
 
[MySQL4] odejmowanie dat i wynik w godzinach
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[MySQL4] odejmowanie dat i wynik w godzinach



Paweł Jurewicz - 17-11-2005 11:21
[MySQL4] odejmowanie dat i wynik w godzinach
  Mam w tabeli kolumne `data`, gdzie przechowywana jest wartosc DATETIME i te
wartosc chce odjac od NOW() i uzyskana rownice przeliczyc na godziny (a
najlepiej na dni i godziny) i nic nie rozumiem z wynikow. najgorsze jest to,
ze jak odejmuje

SELECT `data` - NOW() FROM tabelka

to uzyskuje zupelnie inna ilosc sekund lub czegos tam (?), niz odejmujac w ten
sposob:

SELECT unix_timestamp(`data`) - unix_timestamp(NOW()) FROM tabelka

nic tu nie rozumiem. :-(

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Adam - 17-11-2005 19:15

  Paweł Jurewicz napisał(a):
> Mam w tabeli kolumne `data`, gdzie przechowywana jest wartosc DATETIME i te
> wartosc chce odjac od NOW() i uzyskana rownice przeliczyc na godziny (a
> najlepiej na dni i godziny) i nic nie rozumiem z wynikow. najgorsze jest to,
> ze jak odejmuje
>
> SELECT `data` - NOW() FROM tabelka
>
> to uzyskuje zupelnie inna ilosc sekund lub czegos tam (?), niz odejmujac w ten
> sposob:
>
> SELECT unix_timestamp(`data`) - unix_timestamp(NOW()) FROM tabelka
>
> nic tu nie rozumiem. :-(
>

jeśli data1 = '2004-07-10 12:00:05'
a data2 = '2004-07-10 13:10:05'

interpretacja data2-data1 jest taka jak :

20040710131005-20040710120005

czyli wg Mysql'owego timestampa

W praktyce jeśli chcesz sprawdzić czy daty są z tej samej godziny dnia
mozesz zbadac roznice czasu w taki sposób:

WHERE ABS(date2-date1)>10000 ...

a czy daty są z tego samego dnia:

WHERE ABS(date2-date1)>1000000 ...

pozdrawiam




Paweł Jurewicz - 18-11-2005 12:01

  Adam <admoz@gazeta.pl> napisał(a):

> Paweł Jurewicz napisał(a):
> > Mam w tabeli kolumne `data`, gdzie przechowywana jest wartosc DATETIME i te
> > wartosc chce odjac od NOW() i uzyskana rownice przeliczyc na godziny (a
> > najlepiej na dni i godziny) i nic nie rozumiem z wynikow. najgorsze jest to,
> > ze jak odejmuje
> >
> > SELECT `data` - NOW() FROM tabelka
> >
> > to uzyskuje zupelnie inna ilosc sekund lub czegos tam (?), niz odejmujac w te
> n
> > sposob:
> >
> > SELECT unix_timestamp(`data`) - unix_timestamp(NOW()) FROM tabelka
> >
> > nic tu nie rozumiem. :-(
> >
>
> jeśli data1 = '2004-07-10 12:00:05'
> a data2 = '2004-07-10 13:10:05'
>
> interpretacja data2-data1 jest taka jak :
>
> 20040710131005-20040710120005
>
> czyli wg Mysql'owego timestampa
>
> W praktyce jeśli chcesz sprawdzić czy daty są z tej samej godziny dnia
> mozesz zbadac roznice czasu w taki sposób:
>
> WHERE ABS(date2-date1)>10000 ...
>
> a czy daty są z tego samego dnia:
>
> WHERE ABS(date2-date1)>1000000 ...

Nie chce tego sprawdzic. Chce w wyniku podac roznice:

"Zostalo ci x godzin do czasu z pola `data`"

i czemu odejmujac normalnie mam inne godziny niz odejmujac po
przekonwertowaniu na unix_timestamp?

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Adam - 18-11-2005 12:01

  >>jeśli data1 = '2004-07-10 12:00:05'
>>a data2 = '2004-07-10 13:10:05'
>>
>>interpretacja data2-data1 jest taka jak :
>>
>>20040710131005-20040710120005
>>
>>czyli wg Mysql'owego timestampa
>>
>>W praktyce jeśli chcesz sprawdzić czy daty są z tej samej godziny dnia
>>mozesz zbadac roznice czasu w taki sposób:
>>
>>WHERE ABS(date2-date1)>10000 ...
>>
>>a czy daty są z tego samego dnia:
>>
>>WHERE ABS(date2-date1)>1000000 ...
>
>
> Nie chce tego sprawdzic. Chce w wyniku podac roznice:
>
> "Zostalo ci x godzin do czasu z pola `data`"
>
> i czemu odejmujac normalnie mam inne godziny niz odejmujac po
> przekonwertowaniu na unix_timestamp?
>

no wiec ilosc dni jaka roznia sie daty sprawdzisz

SELECT ABS(date2-date1)/10000 as roznica_godzin





Paweł Jurewicz - 23-11-2005 11:04

  Adam <admoz@gazeta.pl> napisał(a):

> >>jeśli data1 = '2004-07-10 12:00:05'
> >>a data2 = '2004-07-10 13:10:05'
> >>
> >>interpretacja data2-data1 jest taka jak :
> >>
> >>20040710131005-20040710120005
> >>
> >>czyli wg Mysql'owego timestampa
> >>
> >>W praktyce jeśli chcesz sprawdzić czy daty są z tej samej godziny dnia
> >>mozesz zbadac roznice czasu w taki sposób:
> >>
> >>WHERE ABS(date2-date1)>10000 ...
> >>
> >>a czy daty są z tego samego dnia:
> >>
> >>WHERE ABS(date2-date1)>1000000 ...
> >
> >
> > Nie chce tego sprawdzic. Chce w wyniku podac roznice:
> >
> > "Zostalo ci x godzin do czasu z pola `data`"
> >
> > i czemu odejmujac normalnie mam inne godziny niz odejmujac po
> > przekonwertowaniu na unix_timestamp?
> >
>
> no wiec ilosc dni jaka roznia sie daty sprawdzisz
>
> SELECT ABS(date2-date1)/10000 as roznica_godzin

Nie do konca mnie to satysfakcjonuje, z tej prostej przyczyny, ze mam funkcje
IF, ktora mi odejmuje daty TYLKO gdy pierwsza jest wieksza od drugiej (bo
tylko takie sytuacje mnie interesuja).

Dlaczego jednak wychodza mi rozne wyniki przed i po konwersji na
UNIX_TIMESTAMP (!) :-(

gdyby ktos mi to wytlumaczyl...

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MySQL] Ograniczenie =?ISO-8859-2?Q?ilo=B6=E6_wynik=F3w_na_?==?ISO-8859-2?Q?podstawie_count=28=29?= [MySql] Jak =?ISO-8859-2?Q?por=F3wna=E6_wynik_zapytania_ze?==?ISO-8859-2?Q?_zmienn=B1=3F?= [MySQL] Zapytanie z pliku , wynik do pliku MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?= =?ISO-8859-2?Q?wynik_podzapytania_jako_pojedy=F1cza_warto=B6= E6?= =?iso-8859-2?q?wy=B6wietlenie_wynik=F3w_SELECTa_w_php?= Problem z zapytaniem MySQL i PHP wynik zwraca 3 razy, dlaczego? =?iso-8859-2?q?SQL:_left_join:_dublowanie_wynik=F3w?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • misida.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com