Cách thay đổi định dạng ngày tháng trong mysql

Tôi sẽ giải thích cho bạn ví dụ về cách thay đổi định dạng ngày trong truy vấn MySQL?. Bạn sẽ tìm hiểu định dạng ngày của MySQL DD/MM/YYYY chọn truy vấn?. Trong phần này, chúng ta sẽ thấy định dạng ngày của MySQL để chuyển đổi dd. mm. yy thành YYYY-MM-DD?

Bài viết này sẽ cung cấp cho bạn ví dụ đơn giản về cách thay đổi định dạng ngày giờ trong MySQL. Chúng tôi sẽ sử dụng chức năng tìm kiếm MySQL DATE_FORMAT. Định dạng ngày trong MySQL

MySQL DATE_FORMAT() định dạng một ngày như được chỉ định trong đối số. Một danh sách các định dạng xác định dưới đây có thể được sử dụng để định dạng một ngày. '%' được yêu cầu trước các ký tự xác định định dạng

cú pháp

DATE_FORMAT(date,format)

Tranh luận

Tên Mô tả ngàyNgày tháng. formatCho biết cách định dạng ngày tháng

Sơ đồ cú pháp

Cách thay đổi định dạng ngày tháng trong mysql

Phiên bản MySQL. 5. 6

Bảng xác định định dạng

TênMô tả%aTên viết tắt trong tuần (Chủ nhật. Sat)%bTên tháng viết tắt (Jan. Dec)%cMonth, số (0. 12)%Ngày trong tháng có hậu tố tiếng Anh (0th, 1st, 2nd, 3rd,…)%ngày trong tháng, số (00. 31)%eDay của tháng, số (0. 31)%fMicro giây (000000. 999999)%HHhour (00. 23)%hHour (01. 12)%IHour (01. 12)%iMinutes, số (00. 59)%jNgày của năm (001. 366)%kGiờ (0. 23)%lGiờ (1. 12)%Tên tháng (tháng 1. Tháng mười hai)%tháng, số (00. 12)%pAM hoặc PM%rTime, 12 giờ (hh. mm. ss theo sau là AM hoặc PM)%SSSeconds (00. 59)%sGiây (00. 59)%TTime, 24 giờ (hh. mm. ss)%UWeek (00. 53), trong đó Chủ nhật là ngày đầu tuần%uWeek (00. 53), trong đó Thứ Hai là ngày đầu tuần%VWeek (01. 53), trong đó Chủ nhật là ngày đầu tuần; . 53), trong đó Thứ Hai là ngày đầu tuần; . Thứ bảy)%wNgày trong tuần (0=Chủ nhật. 6=Saturday)%XYear trong tuần mà Chủ nhật là ngày đầu tiên của tuần, dạng số, bốn chữ số;

Trình chiếu video

Trình duyệt của bạn không hỗ trợ video HTML5

Trình bày bằng hình ảnh

Cách thay đổi định dạng ngày tháng trong mysql

Ví dụ. Hàm DATE_FORMAT() của MySQL

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;

Trong đó date là tên trường ngày của bạn và formatted_date là bí danh cột mà bạn có thể sử dụng làm tiêu đề cột

Ngày ví dụ. Ngày 11 tháng 2 năm 2011
Thay ngày bằng tên trường ngày của bạn. date_format StringExample'%Y-%m-%d'2011-02-11'%e/%c/%Y'11/2/2011 UK'%c/%e/%Y'2/11/2011 US' . %i'11/2/2011 12. 30 UK'%c/%e/%Y %H. %i'2/11/2011 12. 30 US'%d/%m/%Y %H. %i'11/02/2011 12. 30 UK'%m/%d/%Y %H. %i'02/11/2011 12. 30 US'%e/%c/%Y %T'11/2/2011 12. 30. 10 UK'%c/%e/%Y %T'2/11/2011 12. 30. 10 US'%d/%m/%Y %T'11/02/2011 12. 30. 10 UK'%m/%d/%Y %T'02/11/2011 12. 30. 10 US'%a %D %b %Y'Fri ngày 11 tháng 2 năm 2011'%a %D %b %Y %H. %i'Fri 11 Tháng hai 2011 12. 30'%a %D %b %Y %T'Fri 11 Feb 2011 12. 30. 10'%a %b %e %Y'Fri Ngày 11 tháng 2 năm 2011'%a %b %e %Y %H. %i'Fri 11 Tháng hai 2011 12. 30'%a %b %e %Y %T'Fri Feb 11 2011 12. 30. 10'%W %D %M %Y'Thứ sáu ngày 11 tháng 2 năm 2011'%W %D %M %Y %H. % là thứ Sáu ngày 11 tháng 2 năm 2011 12. 30'%W %D %M %Y %T'Friday 11th February 2011 12. 30. 10'%l. %i %p %b %e, %Y'12. 30 PM ngày 11 tháng 2 năm 2011'%M %e, %Y'ngày 11 tháng 2 năm 2011

Câu lệnh sau sẽ định dạng cột 'ord_date' được chỉ định từ bảng mua hàng theo định dạng xác định %W %D %M %Y và trả về những đơn đặt hàng đã được đặt sau năm 2007

Như những người khác đã giải thích rằng điều đó là không thể, nhưng đây là giải pháp thay thế, nó cần một chút điều chỉnh, nhưng nó hoạt động giống như cột ngày giờ

Tôi bắt đầu suy nghĩ, làm thế nào tôi có thể làm cho việc định dạng trở nên khả thi. tôi có một ý tưởng. Điều gì về việc tạo kích hoạt cho nó? . Và điều đó đã hiệu quả. Tôi đã thực hiện một số nghiên cứu liên quan đến trình kích hoạt và cuối cùng đã đưa ra các truy vấn này

CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');

Bạn không thể sử dụng

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3 hoặc

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
4 làm loại cột vì những loại này có định dạng riêng và chúng tự động cập nhật

Vì vậy, đây là dấu thời gian thay thế hoặc thay thế ngày giờ của bạn. Hy vọng điều này có ích, ít nhất tôi rất vui vì tôi đã làm việc này

Tóm lược. trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn kiểu dữ liệu MySQL

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3 và hiển thị cho bạn một số hàm ngày hữu ích để xử lý dữ liệu ngày một cách hiệu quả

Giới thiệu về kiểu dữ liệu DATE của MySQL

MySQL

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3 là một trong năm loại dữ liệu tạm thời được sử dụng để quản lý các giá trị ngày. MySQL sử dụng định dạng

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
5 để lưu trữ giá trị ngày. Định dạng này là cố định và không thể thay đổi nó

Ví dụ: bạn có thể muốn sử dụng định dạng

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
6 nhưng bạn không thể. Thay vào đó, bạn tuân theo định dạng ngày chuẩn và sử dụng hàm 

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
7 để định dạng ngày theo cách bạn muốn

MySQL sử dụng 3 byte để lưu trữ giá trị

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3. Các giá trị của

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3 nằm trong khoảng từ 
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
10 đến 
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
11. Nếu bạn muốn lưu trữ một giá trị ngày nằm ngoài phạm vi này, bạn cần sử dụng kiểu dữ liệu phi thời gian như số nguyên e. g. , ba cột và mỗi cột cho năm, tháng và ngày. Bạn cũng cần tạo các hàm được lưu trữ để mô phỏng các hàm ngày được tích hợp sẵn do MySQL cung cấp, điều này không được khuyến nghị

Khi chế độ nghiêm ngặt bị tắt, MySQL sẽ chuyển đổi bất kỳ ngày không hợp lệ nào thành. g. ,

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
12 đến giá trị ngày 0
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
13

Giá trị ngày của MySQL với năm có hai chữ số

MySQL lưu trữ năm của giá trị ngày bằng bốn chữ số. Trường hợp bạn sử dụng giá trị năm có 2 chữ số thì MySQL vẫn chấp nhận với quy tắc sau

  • Các giá trị năm trong phạm vi 00-69 được chuyển đổi thành 2000-2069
  • Các giá trị năm trong phạm vi 70-99 được chuyển đổi thành 1970 – 1999

Tuy nhiên, giá trị ngày có hai chữ số không rõ ràng, do đó bạn nên tránh sử dụng nó

Hãy cùng xem ví dụ sau

Đầu tiên, tạo bảng tên người có cột ngày sinh với kiểu dữ liệu

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
6

Tiếp theo, chèn một hàng vào bảng

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
15

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
8

Sau đó, truy vấn dữ liệu từ bảng

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
15

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
Cách thay đổi định dạng ngày tháng trong mysql
Cách thay đổi định dạng ngày tháng trong mysql

Sau đó, sử dụng định dạng năm có hai chữ số để chèn dữ liệu vào bảng

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
15.

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
1

Ở hàng đầu tiên, chúng tôi đã sử dụng 01 (phạm vi 00-69) làm năm, vì vậy MySQL đã chuyển đổi nó thành 2001. Ở hàng thứ hai, chúng tôi đã sử dụng 80 (phạm vi 70-99) làm năm, MySQL đã chuyển đổi nó thành 1980

Cuối cùng, chúng ta có thể truy vấn dữ liệu từ bảng

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
15 để kiểm tra xem dữ liệu có được chuyển đổi dựa trên quy tắc chuyển đổi hay không

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
Cách thay đổi định dạng ngày tháng trong mysql
Cách thay đổi định dạng ngày tháng trong mysql

Các hàm MySQL SELECT first_name, last_name, birth_date FROM people;Code language: SQL (Structured Query Language) (sql)3

MySQL cung cấp nhiều hàm ngày hữu ích cho phép bạn thao tác ngày hiệu quả

Để lấy ngày giờ hiện tại, bạn sử dụng hàm

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
0

CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
7____28

Để chỉ lấy một phần ngày của giá trị

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
1, bạn sử dụng hàm

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
2

CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
1
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
2

Để lấy ngày hệ thống hiện tại, bạn sử dụng hàm  

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3 như sau

CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
4
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
80

Để định dạng giá trị ngày tháng, bạn sử dụng hàm  

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
7. Câu lệnh sau định dạng ngày là_______45 sử dụng mẫu định dạng ngày 

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
6

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
81
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
82

Để tính số ngày giữa hai giá trị ngày, bạn sử dụng hàm

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
7 như sau

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
83
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
84

Để thêm một số ngày, tuần, tháng, năm, v.v. , đến giá trị ngày tháng, bạn sử dụng hàm

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
8

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
85
Cách thay đổi định dạng ngày tháng trong mysql
Cách thay đổi định dạng ngày tháng trong mysql

Tương tự, bạn có thể trừ một khoảng từ một ngày bằng cách sử dụng hàm

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
9.

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
86
Cách thay đổi định dạng ngày tháng trong mysql
Cách thay đổi định dạng ngày tháng trong mysql

Nếu muốn lấy ngày, tháng, quý và năm của một giá trị ngày, bạn có thể sử dụng hàm tương ứng

CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
70,
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
71,
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
72 và
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
73 như sau.

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
87
select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
88

Để có được các chức năng liên quan đến tuần thông tin tuần. Ví dụ: hàm

CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
74 trả về số tuần, hàm
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
75 trả về chỉ số ngày trong tuần và hàm
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
76 trả về tuần theo lịch

select date_format(date, '%a %D %b %Y') 
as formatted_date 
from table_name;
89

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
0

Hàm tuần trả về số tuần với chỉ mục dựa trên 0 nếu bạn không chuyển đối số thứ hai hoặc nếu bạn chuyển 0. Nếu bạn vượt qua 1, nó sẽ trả về số tuần với 1 chỉ mục

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
1

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
2

Trong hướng dẫn này, bạn đã tìm hiểu về loại dữ liệu MySQL

SELECT first_name, last_name, birth_date FROM people;

Code language: SQL (Structured Query Language) (sql)
3 và cách sử dụng một số hàm ngày hữu ích để thao tác các giá trị ngày

Làm cách nào để thay đổi định dạng ngày trong cơ sở dữ liệu MySQL?

Trong cơ sở dữ liệu MySQL, hàm DATE_FORMAT() cho phép bạn hiển thị dữ liệu ngày và giờ ở định dạng đã thay đổi. .
%a – Tên ngày trong tuần viết tắt
%Y – Năm, ở dạng 4 chữ số
%M – Tên đầy đủ của tháng
%e – Ngày trong tháng (từ 1 – 31)
%H – Giờ (từ 00-23)
%i – Phút (từ 00-59)
%s – Giây (từ 00-59)

Ngày được định dạng trong MySQL như thế nào?

MySQL truy xuất và hiển thị các giá trị NGÀY ở định dạng ' YYYY-MM-DD '. Phạm vi được hỗ trợ là '1000-01-01' đến '9999-12-31'. Loại DATETIME được sử dụng cho các giá trị chứa cả phần ngày và giờ.

Làm cách nào để định dạng ngày và giờ trong MySQL?

MySQL truy xuất và hiển thị giá trị DATETIME trong ' YYYY-MM-DD hh. mm. định dạng ss '. Phạm vi được hỗ trợ là '1000-01-01 00. 00. 00' đến '9999-12-31 23. 59. 59'. Kiểu dữ liệu DẤU THỜI GIAN được sử dụng cho các giá trị chứa cả phần ngày và giờ. DẤU THỜI GIAN có phạm vi '1970-01-01 00. 00. 01' UTC đến '2038-01-19 03. 14. 07' UTC.