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

4 Hàm trích xuất Micro giây từ một giá trị thời gian trong MariaDB

Dưới đây là 4 hàm cho phép bạn trả về phần micro giây từ một giá trị thời gian trong MariaDB.

MICROSECOND() Chức năng

MICROSECOND() hàm trả về phần micro giây của TIME nhất định hoặc DATETIME biểu hiện. Nó chấp nhận một đối số, đó là thời gian bạn muốn trích xuất micro giây từ đó.

Ví dụ:

SELECT MICROSECOND('10:45:30.123456');

Kết quả:

+--------------------------------+
| MICROSECOND('10:45:30.123456') |
+--------------------------------+
|                         123456 |
+--------------------------------+

TIME giá trị có thể nằm trong khoảng '-838:59:59.999999' thành '838:59:59.999999' .

TIME giá trị cũng có thể âm. Trong những trường hợp như vậy, MICROSECOND() trả về một giá trị dương.

Đây là giá trị thời gian âm với phần micro giây:

SELECT MICROSECOND('-838:59:59.999999');

Kết quả:

+----------------------------------+
| MICROSECOND('-838:59:59.999999') |
+----------------------------------+
|                           999999 |
+----------------------------------+

Phần micro giây được trích xuất như mong đợi.

EXTRACT() Chức năng

EXTRACT() chức năng cho phép bạn trích xuất một đơn vị cụ thể từ giá trị ngày / giờ. Do đó, bạn có thể sử dụng nó để trích xuất micro giây (cũng như các đơn vị khác) từ giá trị thời gian.

Ví dụ:

SELECT EXTRACT(MICROSECOND FROM '10:45:30.123456');

Kết quả:

+---------------------------------------------+
| EXTRACT(MICROSECOND FROM '10:45:30.123456') |
+---------------------------------------------+
|                                      123456 |
+---------------------------------------------+

TIME_FORMAT() Chức năng

TIME_FORMAT() hàm cho phép bạn định dạng một giá trị thời gian dựa trên một chuỗi định dạng. Chuỗi định dạng chỉ định cách thời gian nên được định dạng.

Do đó, bạn có thể sử dụng chức năng này để trả về micro giây (cũng như giờ, phút và giây) từ thời gian.

%f công cụ định dạng trả về micro giây:

SELECT TIME_FORMAT('10:07:30.003456', '%f');

Kết quả:

+--------------------------------------+
| TIME_FORMAT('10:07:30.003456', '%f') |
+--------------------------------------+
| 003456                               |
+--------------------------------------+

Bạn cũng có thể sử dụng $s hoặc $S định dạng định dạng để trả về phần giây:

SELECT 
    TIME_FORMAT('10:07:30.123456', '%s') AS "Seconds",
    TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds",
    TIME_FORMAT('10:07:30.123456', '%s.%f') AS "Both";

Kết quả:

+---------+--------------+-----------+
| Seconds | Microseconds | Both      |
+---------+--------------+-----------+
| 30      | 123456       | 30.123456 |
+---------+--------------+-----------+

TIME_FORMAT() hàm chấp nhận một tập hợp con của các chuỗi định dạng có thể được sử dụng với DATE_FORMAT() hàm số. Xem Chuỗi định dạng MariaDB để biết danh sách đầy đủ các chuỗi / mã định dạng có thể được sử dụng với DATE_FORMAT() . TIME_FORMAT() hàm chỉ chấp nhận các chỉ định định dạng cho giờ, phút và giây / giây phụ. Bất kỳ công cụ định dạng nào khác đều dẫn đến null hoặc 0 được trả lại.

DATE_FORMAT() Chức năng

DATE_FORMAT() hàm cho phép bạn định dạng ngày tháng hoặc giá trị ngày giờ dựa trên một chuỗi định dạng. Chuỗi định dạng chỉ định cách định dạng ngày / giờ.

Do đó, chúng tôi có thể sử dụng cùng một mã định dạng mà chúng tôi đã sử dụng với TIME_FORMAT() chức năng trong ví dụ trước. Tuy nhiên, DATE_FORMAT() không chấp nhận TIME giá trị, vì vậy chúng tôi sẽ cần vượt qua DATETIME giá trị.

SELECT DATE_FORMAT('2023-01-01 10:07:30.007123', '%f');

Kết quả:

+-------------------------------------------------+
| DATE_FORMAT('2023-01-01 10:07:30.007123', '%f') |
+-------------------------------------------------+
| 007123                                          |
+-------------------------------------------------+

Chỉ vượt qua một TIME value không hoạt động với chức năng này:

SELECT DATE_FORMAT('10:07:30.007123', '%f');

Kết quả:

+--------------------------------------+
| DATE_FORMAT('10:07:30.007123', '%f') |
+--------------------------------------+
| NULL                                 |
+--------------------------------------+
1 row in set, 1 warning (0.003 sec)

Hãy xem cảnh báo:

SHOW WARNINGS;

Kết quả:

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Incorrect datetime value: '10:07:30.007123' |
+---------+------+---------------------------------------------+

  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 trừ một năm khỏi một ngày trong MariaDB

  2. Cách cài đặt và bảo mật MariaDB trên CentOS 8

  3. Trả lại số ngày trong tháng bằng MariaDB

  4. Cách hoạt động của COMPRESS () trong MariaDB

  5. 3 cách để có được sự sắp xếp máy chủ trong MariaDB