Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przypadek SQL, gdy FROM (UNIX_TIME)

FROM_UNIXTIME() zwraca wartość znacznika czasu. Z podręcznika: .

To, co może być teraz mylące, to fakt, że strefy czasowe są brane pod uwagę ze znacznikiem czasu.

Jeśli jesteś w strefie czasowej GMT+1h, to

select unix_timestamp('1970-01-01 00:00:00');

powraca

+---------------------------------------+
| unix_timestamp('1970-01-01 00:00:00') |
+---------------------------------------+
|                                     0 |
+---------------------------------------+

Ponieważ brana jest pod uwagę strefa czasowa, to

select unix_timestamp('1970-01-01 01:00:00');

wciąż powraca

+---------------------------------------+
| unix_timestamp('1970-01-01 01:00:00') |
+---------------------------------------+
|                                     0 |
+---------------------------------------+

Ale to...

select unix_timestamp('1970-01-01 01:00:01');
+---------------------------------------+
| unix_timestamp('1970-01-01 01:00:01') |
+---------------------------------------+
|                                     1 |
+---------------------------------------+

i to

select unix_timestamp('1970-01-01 02:00:00');
+---------------------------------------+
| unix_timestamp('1970-01-01 02:00:00') |
+---------------------------------------+
|                                  3600 |
+---------------------------------------+

teraz zwracają „poprawne” wartości.

AKTUALIZACJA:

Proste i szybkie rozwiązanie:

SELECT
      CASE
          WHEN t.escalation_time = 0 THEN 0
          WHEN FROM_UNIXTIME( t.escalation_time ) = '1970-01-01 00:00:00' THEN 0
          ELSE FROM_UNIXTIME( t.escalation_time )
      END
FROM ticket t WHERE t.id =1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli i mysql wstawiają się do poleceń bazy danych

  2. mysql nie przestrzega ustawienia wait_timeout w my.cnf

  3. laravel 4 - jak ograniczyć (przejmowanie i pomijanie) dla elokwentnego ORM?

  4. Scala Slick:MTable.getTables zwraca pusty wektor/listę

  5. Konwertuj to zapytanie na elokwentne