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

TO_SECONDS () Ví dụ - MySQL

Trong MySQL, TO_SECONDS() hàm trả về số giây kể từ năm 0.

Không nên nhầm lẫn hàm này với TIME_TO_SECONDS() , trả về số giây trong một giá trị thời gian nhất định được cung cấp dưới dạng đối số.

Cú pháp

Cú pháp như sau:

TO_SECONDS(expr)

Ở đâu expr là một giá trị ngày tháng hoặc thời gian (được so sánh với năm 0).

Ví dụ 1 - Sử dụng đối số "date"

Đây là một ví dụ sử dụng đối số ngày.

SELECT TO_SECONDS('2021-09-21');

Kết quả:

+--------------------------+
| TO_SECONDS('2021-09-21') |
+--------------------------+
|              63799401600 |
+--------------------------+

Ví dụ 2 - Sử dụng đối số "datetime"

Đây là một ví dụ sử dụng đối số ngày giờ.

SELECT TO_SECONDS('2021-09-21 10:30:25');

Kết quả:

+-----------------------------------+
| TO_SECONDS('2021-09-21 10:30:25') |
+-----------------------------------+
|                       63799439425 |
+-----------------------------------+

Ví dụ 3 - Sử dụng Ngày hiện tại

Trong ví dụ này, tôi chuyển CURDATE() hoạt động như một đối số để sử dụng ngày hiện tại.

SELECT TO_SECONDS(CURDATE()) AS 'Result';

Kết quả:

+-------------+
| Result      |
+-------------+
| 63697968000 |
+-------------+

Ví dụ 4 - Sử dụng Ngày và Giờ Hiện tại

Trong ví dụ này, tôi chuyển NOW() hoạt động như một đối số để sử dụng ngày và giờ hiện tại.

SELECT TO_SECONDS(NOW()) AS 'Result';

Kết quả:

+-------------+
| Result      |
+-------------+
| 63698002698 |
+-------------+

Năm hai chữ số

MySQL có các quy tắc đặc biệt để xử lý các ngày có năm hai chữ số. Năm có hai chữ số là không rõ ràng vì thế kỷ là không xác định. Về cơ bản, các quy tắc sau được áp dụng:

  • Giá trị năm trong phạm vi 00-69 được chuyển đổi thành 2000-2069 .
  • Giá trị năm trong phạm vi 70-99 được chuyển đổi thành 1970-1999 .

Để có lời giải thích đầy đủ, hãy xem tài liệu MySQL về cách MySQL xử lý các năm hai chữ số.

Dưới đây là một ví dụ để chứng minh:

SELECT 
  TO_SECONDS('69-10-07') AS '69 (2069)',
  TO_SECONDS('70-10-07') AS '70 (1970)';

Kết quả:

+-------------+-------------+
| 69 (2069)   | 70 (1970)   |
+-------------+-------------+
| 65315548800 | 62191324800 |
+-------------+-------------+

Ngày viết tắt

Bạn cũng có thể sử dụng ngày tháng viết tắt. Dưới đây là một ví dụ sử dụng các giá trị ngày trước ở dạng viết tắt.

SELECT 
  TO_SECONDS('691007') AS '69 (2069)',
  TO_SECONDS('701007') AS '70 (1970)';

Kết quả:

+-------------+-------------+
| 69 (2069)   | 70 (1970)   |
+-------------+-------------+
| 65315548800 | 62191324800 |
+-------------+-------------+

Các ngày trước đó

Tài liệu MySQL cảnh báo rằng TO_SECONDS() chức năng:

không nhằm mục đích sử dụng với các giá trị trước khi lịch Gregorian ra đời (1582), vì nó không tính đến những ngày đã mất khi lịch được thay đổi. Đối với các ngày trước năm 1582 (và có thể một năm sau ở các ngôn ngữ khác), kết quả từ hàm này không đáng tin cậy.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cơ sở dữ liệu pincode của Ấn Độ với tập lệnh công cụ tìm vị trí trong php và jquery

  2. Làm cách nào để bạn chọn mọi hàng thứ n từ mysql

  3. Ghi nhật ký tất cả các truy vấn trong mysql

  4. Cách bảo mật máy chủ MySQL / MariaDB

  5. Máy chủ MySQL độc lập