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

Cách TIMESTAMP () hoạt động trong MariaDB

Trong MariaDB, TIMESTAMP() là một hàm ngày và giờ tích hợp sẵn trả về giá trị ngày giờ, dựa trên / s đối số của nó.

Nó có thể được sử dụng với một hoặc hai đối số, như sau:

  • Khi được sử dụng với một đối số, nó trả về ngày tháng hoặc biểu thức ngày giờ đó dưới dạng giá trị ngày giờ.
  • Khi được sử dụng với hai đối số, nó sẽ thêm đối số (thời gian) thứ hai vào biểu thức (ngày tháng hoặc ngày giờ) đầu tiên, sau đó trả về giá trị ngày giờ kết quả.

Cú pháp

Nó có thể được sử dụng theo hai cách sau:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Trong đó expr1 là một biểu thức ngày tháng hoặc ngày giờ và expr2 là một biểu thức thời gian để thêm vào expr1 .

Ví dụ

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

SELECT TIMESTAMP('2030-02-01');

Kết quả:

+-------------------------+
| TIMESTAMP('2030-02-01') |
+-------------------------+
| 2030-02-01 00:00:00     |
+-------------------------+

Giá trị ngày giờ

Dưới đây là một ví dụ về việc chuyển một giá trị ngày giờ:

SELECT TIMESTAMP('2030-02-01 10:30:45');

Kết quả:

+----------------------------------+
| TIMESTAMP('2030-02-01 10:30:45') |
+----------------------------------+
| 2030-02-01 10:30:45              |
+----------------------------------+

Đối số thứ hai

Dưới đây là một ví dụ thêm đối số thứ hai vào đối số đầu tiên:

SELECT TIMESTAMP('2030-02-01 10:30:45', '02:15:15');

Kết quả:

+----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '02:15:15') |
+----------------------------------------------+
| 2030-02-01 12:46:00                          |
+----------------------------------------------+

Micro giây

Dưới đây là một ví dụ thêm micro giây:

SELECT TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456');

Kết quả:

+-----------------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456') |
+-----------------------------------------------------+
| 2030-02-01 10:30:45.123456                          |
+-----------------------------------------------------+

Lần tiêu cực

Thời gian phủ định hợp lệ:

Ví dụ:

SELECT TIMESTAMP('2030-02-01 10:30:45', '-09:20:00');

Kết quả:

+-----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '-09:20:00') |
+-----------------------------------------------+
| 2030-02-01 01:10:45                           |
+-----------------------------------------------+

Ngày hiện tại

Chúng ta có thể chuyển NOW() làm đối số datetime để sử dụng ngày và giờ hiện tại:

SELECT 
    NOW(),
    TIMESTAMP(NOW(), '10:30:45');

Kết quả:

+---------------------+------------------------------+
| NOW()               | TIMESTAMP(NOW(), '10:30:45') |
+---------------------+------------------------------+
| 2021-05-28 09:25:09 | 2021-05-28 19:55:54          |
+---------------------+------------------------------+

Đối số không hợp lệ

Khi truyền một đối số không hợp lệ, TIMESTAMP() trả về null với một cảnh báo:

SELECT TIMESTAMP('Ten Thirty AM');

Kết quả:

+----------------------------+
| TIMESTAMP('Ten Thirty AM') |
+----------------------------+
| NULL                       |
+----------------------------+
1 row in set, 1 warning (0.004 sec)

Kiểm tra cảnh báo:

SHOW WARNINGS;

Kết quả:

+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Incorrect time value: 'Ten Thirty AM' |
+---------+------+---------------------------------------+

Thiếu đối số

Đang gọi TIMESTAMP() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào, dẫn đến lỗi:

SELECT TIMESTAMP();

Kết quả:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

Và một ví dụ khác:

SELECT TIMESTAMP('2020-12-09', '06:30:45', '06:30:45');

Kết quả:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 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. Cách cài đặt và bảo mật MariaDB trên Ubuntu

  2. Cách nâng cấp từ MariaDB 10.4 lên MariaDB 10.5

  3. MySQL vs MariaDB vs Percona Server:So sánh các tính năng bảo mật

  4. Mở rộng quy mô cơ sở dữ liệu Moodle

  5. Trừ số giây cho giá trị ngày giờ trong MariaDB