Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Dziwne zachowanie time_to_sec
jacusek
post 28.11.2010, 18:40:58
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam.
Mam tabelę w mysql:
  1. CREATE TABLE `nadgodziny` (
  2. `id_nad` SMALLINT(6) NOT NULL AUTO_INCREMENT,
  3. `id_prac` VARCHAR(2) NULL DEFAULT NULL,
  4. `data_pocz` DATETIME NOT NULL,
  5. `data_kon` DATETIME NOT NULL,
  6. `id_lek` VARCHAR(5) NULL DEFAULT NULL,
  7. PRIMARY KEY (`id_nad`)
  8. )
  9. COLLATE='utf8_general_ci'
  10. ENGINE=InnoDB

Najistotniejsze są kolumny data_pocz i data_kon.
Większość dat zaczyna się w dzień powszedni o 20:00 - czyli zapis wygląda następująco '2010-02-01 20:00' i kończy powiedzmy '2010-02-01 21:20'
Kiedy zadaję następujące pytanie
  1. SELECT date_format(data_pocz,'%Y-%m-%d') AS DATA,
  2. floor((time_to_sec(data_kon-data_pocz))/3600) AS godziny,
  3. round((time_to_sec(data_kon-data_pocz)/60),0)%60 AS minuty
  4. FROM nadgodziny
  5. WHERE id_prac IS NOT NULL GROUP BY 1;

to wszystko działa do momentu kiedy w tabeli mam sobotę i np takie wartości
'2010-03-13 08:45' '2010-03-13 08:45' Tutaj kompletnie wariuje albo pokazuje null, albo nie liczy drugiej kolumny. Kombinowałem już z takimi opcjami żeby zmienić zapis na taką formę
  1. (time_to_sec(data_kon)-time_to_sec(data_pocz)/60)
ale to niestety też nie pomaga.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
wookieb
post 28.11.2010, 18:43:11
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://dev.mysql.com/doc/refman/5.1/en/dat...nction_datediff
http://dev.mysql.com/doc/refman/5.1/en/dat...nction_date-add
http://dev.mysql.com/doc/refman/5.1/en/dat...nction_date-sub


--------------------
Go to the top of the page
+Quote Post
jacusek
post 28.11.2010, 18:58:47
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


dzięki. Naprowadziłeś mnie choć w moim przypadku bardziej przydało się timediff().
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 03:42