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

Cách lấy tên ngày ngắn từ ngày trong MariaDB

Trong MariaDB, bạn có thể sử dụng DATE_FORMAT() chức năng trả về các phần ngày tháng khác nhau từ một ngày tháng. Một trong những thứ bạn có thể trở lại là tên ngắn ngày. Ví dụ:Tue hoặc Wed (thay vì Tuesday hoặc Wed ).

Định dạng "Tên ngày ngắn" (%a )

Chìa khóa để trả về tên ngày ngắn khi sử dụng DATE_FORMAT() chức năng là sử dụng công cụ định dạng thích hợp.

Trong MariaDB, định dạng chỉ định cho tên ngày ngắn là:%a

Ví dụ

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

SELECT DATE_FORMAT('2023-07-25', '%a');

Kết quả:

+---------------------------------+
| DATE_FORMAT('2023-07-25', '%a') |
+---------------------------------+
| Tue                             |
+---------------------------------+

Dưới đây là một ví dụ khác diễn ra vào các ngày khác nhau trong tuần:

SELECT 
    DATE_FORMAT('2023-07-24', '%a') AS "1",
    DATE_FORMAT('2023-07-25', '%a') AS "2",
    DATE_FORMAT('2023-07-26', '%a') AS "3",
    DATE_FORMAT('2023-07-27', '%a') AS "4",
    DATE_FORMAT('2023-07-28', '%a') AS "5",
    DATE_FORMAT('2023-07-29', '%a') AS "6",
    DATE_FORMAT('2023-07-30', '%a') AS "7";

Kết quả:

+------+------+------+------+------+------+------+
| 1    | 2    | 3    | 4    | 5    | 6    | 7    |
+------+------+------+------+------+------+------+
| Mon  | Tue  | Wed  | Thu  | Fri  | Sat  | Sun  |
+------+------+------+------+------+------+------+

Bạn cũng có thể trả về các đơn vị ngày và giờ khác, nhưng bài viết này đặc biệt về việc trả lại tên ngày ngắn. Xem Chuỗi định dạng MariaDB để biết danh sách các mã định dạng có thể được sử dụng với DATE_FORMAT() .

Các cách tiếp cận khác

Có những cách khác để lấy tên ngày ngắn từ một ngày liên quan đến việc cắt bỏ phần đầu tiên của ngày.

Tuy nhiên, phương pháp này có thể dễ bị lỗi hơn phương pháp trên (cộng với nó phức tạp hơn). Bạn có thể nhận được một số kết quả không mong muốn khi sử dụng phương pháp này, đặc biệt là khi làm việc với các ngôn ngữ khác nhau.

Dưới đây là một số ví dụ để chứng minh ý tôi muốn nói.

Thay vì sử dụng %a công cụ định dạng giống như chúng ta đã làm trong ví dụ trước, chúng ta có thể sử dụng %W định dạng chỉ định để trả về tên ngày đầy đủ, sau đó trả về rút ngắn kết quả đó bằng một hàm như LEFT() .

Ví dụ:

SELECT 
    DATE_FORMAT('2023-07-25', '%W') AS Full,
    LEFT(DATE_FORMAT('2023-07-25', '%W'), 3) AS Short;

Kết quả:

+---------+-------+
| Full    | Short |
+---------+-------+
| Tuesday | Tue   |
+---------+-------+

Ngoài ra, chúng tôi có thể sử dụng một hàm như CAST() để chuyển đổi sang kiểu dữ liệu chỉ có ba ký tự, chẳng hạn như sau:

SELECT 
    DATE_FORMAT('2023-07-25', '%W') AS Full,
    CAST(DATE_FORMAT('2023-07-25', '%W') AS CHAR(3)) AS Short;

Kết quả:

+---------+-------+
| Full    | Short |
+---------+-------+
| Tuesday | Tue   |
+---------+-------+

Điều này hoạt động tốt khi làm việc với ngôn ngữ tiếng Anh (và có lẽ một số ngôn ngữ khác). Nhưng hãy xem điều gì sẽ xảy ra khi chúng ta chuyển sang một ngôn ngữ khác - giả sử, tiếng Nhật:

SELECT 
    DATE_FORMAT('2023-07-25', '%W', 'ja_JP') AS Full,
    LEFT(DATE_FORMAT('2023-07-25', '%W', 'ja_JP'), 3) AS Short;

Kết quả:

+-----------+-----------+
| Full      | Short     |
+-----------+-----------+
| 火曜日     | 火曜日     |
+-----------+-----------+

Trong trường hợp này, không có sự khác biệt.

Ngược lại, đây là điều xảy ra khi chúng tôi sử dụng %a định dạng chỉ định để trả về tên ngắn ngày:

SELECT 
    DATE_FORMAT('2023-07-25', '%W', 'ja_JP') AS Full,
    DATE_FORMAT('2023-07-25', '%a', 'ja_JP') AS Short;

Kết quả:

+-----------+-------+
| Full      | Short |
+-----------+-------+
| 火曜日     | 火    |
+-----------+-------+

Vì vậy, tôi khuyên bạn nên sử dụng %a công cụ định dạng bất cứ khi nào có thể.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 7 cách trả về các hàng trùng lặp có khóa chính trong MariaDB

  2. Cách triển khai một cụm MariaDB để có mức độ sẵn sàng cao

  3. Hiệu suất trình điều khiển trình kết nối Java MariaDB

  4. Tối đa hóa hiệu quả truy vấn cơ sở dữ liệu cho MySQL - Phần thứ hai

  5. 6 cách để thêm một tháng vào một ngày trong MariaDB