Trong MariaDB, GET_FORMAT()
là một hàm ngày và giờ được tích hợp sẵn trả về một chuỗi định dạng.
Hàm này có thể hữu ích khi làm việc với các hàm yêu cầu chuỗi định dạng, chẳng hạn như DATE_FORMAT()
và STR_TO_DATE()
.
Cú pháp
Cú pháp như sau:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Ví dụ
Đây là một ví dụ:
SELECT GET_FORMAT(DATE, 'EUR');
Kết quả:
+ ------------------------- + | GET_FORMAT (DATE, 'EUR') | + ------------------------- + | % d.% m.% Y | + ------------------------- +
Điều này cho chúng ta thấy định dạng được sử dụng khi làm việc với các ngày ở định dạng EUR.
Đây là một ví dụ khác. Lần này, chúng tôi trả về chuỗi định dạng ISO cho datetime:
SELECT GET_FORMAT(DATETIME, 'ISO');
Kết quả:
+ ----------------------------- + | GET_FORMAT (DATETIME, 'ISO') | + ----------------------------- + | % Y-% m-% d% H:% i:% s | + ----------------------------- +Với
DATE_FORMAT()
Trong ví dụ này, tôi sử dụng
GET_FORMAT()
làm đối số thứ hai choDATE_FORMAT()
hàm số. Điều này cho phép tôi định dạng ngày tháng mà không cần phải nhớ chuỗi định dạng thực tế sẽ sử dụng.SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));
Kết quả:
+ ---------------------------------------------- ----- + | DATE_FORMAT ('2030-08-25', GET_FORMAT (DATE, 'USA')) | + ----------------------------- ---------------------- + | 08.25.2030 | + --------------------------------------------- ------ +Chuỗi định dạng có thể có
Dưới đây là bảng các chuỗi định dạng có thể có:
Đối số | Định dạng Kết quả |
---|---|
DATE, 'EUR' | ‘% d.% m.% Y’ |
DATE, 'USA' | ‘% m.% d.% Y’ |
DATE, 'JIS' | ‘% Y-% m-% d’ |
DATE, 'ISO' | ‘% Y-% m-% d’ |
DATE, 'INTERNAL' | ‘% Y% m% d’ |
DATETIME, 'EUR' | ‘% Y-% m-% d% H.% i.% s’ |
DATETIME, 'USA' | ‘% Y-% m-% d% H.% i.% s’ |
DATETIME, 'JIS' | ‘% Y-% m-% d% H:% i:% s’ |
DATETIME, 'ISO' | ‘% Y-% m-% d% H:% i:% s’ |
DATETIME, 'INTERNAL' | ‘% Y% m% d% H% i% s’ |
TIME, 'EUR' | ‘% H.% i.% s’ |
TIME, 'USA' | ‘% h:% i:% s% p’ |
TIME, 'JIS' | ‘% H:% i:% s’ |
TIME, 'ISO' | ‘% H:% i:% s’ |
TIME, 'INTERNAL' | ‘% H% i% s’ |
Thiếu đối số
Gọi GET_FORMAT()
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 GET_FORMAT();
Kết quả:
ERROR 1064 (42000):Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MariaDB của bạn để biết cú pháp phù hợp để sử dụng gần ')' tại dòng 1
Và một ví dụ khác:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );
Kết quả:
ERROR 1064 (42000):Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MariaDB của bạn để biết cú pháp phù hợp để sử dụng gần '' OOPS ')' tại dòng 1