Hàm STR_TO_DATE trong MySQL
Trong bài này mình sẽ hướng dẫn cách sử dụng hàm STR_TO_DATE
trong MySQL
thông qua cú pháp và ví dụ thực tế.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
1. Mô tả
Hàm STR_TO_DATE
lấy một chuỗi và trả về một ngày được chỉ định bởi mặt nạ định dạng.
2. Cú pháp
Cú pháp của hàm STR_TO_DATE
trong MySQL
là:
STR_TO_DATE( string, format_mask )
Trong đó:
Bài viết này được đăng tại [free tuts .net]
string
: Giá trị chuỗi để định dạng là một ngày.format_mask
: Các định dạng để áp dụng cho string. Sau đây là danh sách các tùy chọn cho tham số format_mask. Các tham số này có thể được sử dụng trong nhiều kết hợp
Giá trị | Mô tả |
%a | Viết tắt tên ngày trong tuần (Sun - Sat) |
%b | Viết tắt tên tháng (Jan đến Dec) |
%c | Tháng dưới dạng giá trị số (0 đến 12) |
%D | Ngày trong tháng dưới dạng giá trị số, theo sau là hậu tố (1st, 2nd, 3rd, ...) |
%d | Ngày trong tháng dưới dạng giá trị số (01 đến 31) |
%e | Ngày trong tháng dưới dạng giá trị số (1 đến 31) |
%f | Giây (000000 đến 999999) |
%H | Hour (00 đến 23) |
%h hoặc %l | Giờ (00 đến 12) |
%i | Phút (00 đến 59) |
%j | Ngày trong năm (001 đến 366) |
%k | Giờ (00 đến 23) |
%l | Giờ (1 đến 12) |
%M | Tên tháng đầy đủ (January đến December) |
%m | Tên tháng dưới dạng giá trị số (00 đến 12) |
%p | AM hoặc PM |
%r | Thời gian ở định dạng 12 giờ AM hoặc PM (hh: mm: ss AM / PM) |
%S | Giây (00 đến 59) |
%s | Giây (00 đến 59) |
%T | Thời gian ở định dạng 24 giờ (hh: mm: ss) |
%U | Tuần mà Chủ nhật là ngày đầu tuần (00 đến 53) |
%u | Tuần mà thứ Hai là ngày đầu tuần (00 đến 53) |
%V | Tuần mà Chủ nhật là ngày đầu tuần (01 đến 53) |
%v | Tuần mà thứ Hai là ngày đầu tuần (01 đến 53) |
%W | Tên ngày trong tuần đầy đủ (Sunday đến Saturday) |
%w | Ngày trong tuần trong đó Chủ nhật = 0 và Thứ bảy = 6 |
%X | Năm trong tuần mà Chủ nhật là ngày đầu tuần |
%x | Năm trong tuần, thứ Hai là ngày đầu tuần |
%Y | Năm dưới dạng giá trị số, 4 chữ số |
%y | Năm dưới dạng giá trị số, 2 chữ số |
Lưu ý:
- Hàm
STR_TO_DATE
sẽ trả về giá trị ngày giờ, nếu chuỗi chứa cả phần ngày và thời gian hợp lệ. - Hàm
STR_TO_DATE
sẽ trả về giá trị ngày, nếu chuỗi chỉ chứa các phần ngày hợp lệ. - Hàm
STR_TO_DATE
sẽ trả về giờ, nếu chuỗi chỉ chứa các phần giờ hợp lệ. - Hàm
STR_TO_DATE
sẽ trả về giá trị NULL, nếu nó không thể trích xuất các phần ngày và giờ hợp lệ bằng cách sử dụng format_mask.
3. Version
Hàm STR_TO_DATE
có thể được sử dụng trong các phiên bản sau của MySQL
:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
4. Ví dụ
mysql> SELECT STR_TO_DATE('February 05 2019', '%M %d %Y'); Ket qua: '2019-02-05' mysql> SELECT STR_TO_DATE('March,9,2019', '%M,%e,%Y'); Ket qua: '2019-03-09' mysql> SELECT STR_TO_DATE('Friday, February 20, 2019', '%W, %M %e, %Y'); Ket qua: '2019-02-20' mysql> SELECT STR_TO_DATE('2019,5,25 08', '%Y,%m,%d %h'); Ket qua: '2019-05-25 08:00:00' mysql> SELECT STR_TO_DATE('2019,3,27 02,30,05', '%Y,%m,%d %h,%i,%s'); Ket qua: '2019-03-27 02:30:05' mysql> SELECT STR_TO_DATE('11,10,35', '%h,%i,%s'); Ket qua: 'NULL'