Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Trường hợp SQL khi FROM (UNIX_TIME)

FROM_UNIXTIME () trả về giá trị dấu thời gian. Từ hướng dẫn sử dụng: .

Điều có thể gây nhầm lẫn bây giờ là thực tế là các múi giờ được xem xét với dấu thời gian.

Nếu bạn đang ở trong múi giờ GMT + 1h, điều này

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

lợi nhuận

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

Vì múi giờ được xem xét, điều này

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

vẫn trả lại

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

Nhưng điều này ...

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

và điều này

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

bây giờ trả về giá trị "đúng".

CẬP NHẬT:

Giải pháp dễ dàng và nhanh chóng:

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. Tệp khóa không chính xác cho bảng '/tmp/#sql_18b4_0.MYI' cố gắng sửa chữa nó

  2. Bảng MySQL với một cột varchar làm khóa ngoại

  3. mysqli_affected_rows cho UPDATE đôi khi trả về 0 khi khớp hàng đầy đủ

  4. Ping máy chủ MySQL

  5. Làm cách nào để chèn khóa mảng dưới dạng cột bảng và giá trị dưới dạng giá trị cột vào mysql bằng php?