Bản tóm tắt. 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
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ảCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Giới thiệu về kiểu dữ liệu DATE của MySQL
MySQL
3 là một trong năm loại dữ liệu tạm thời được sử dụng để quản lý giá trị ngày. MySQL sử dụng định dạngCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
5 để lưu trữ giá trị ngày. Định dạng này là cố định và không thể thay đổi nóCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Ví dụ: bạn có thể muốn sử dụng định dạng
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àmCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
7 để định dạng ngày theo cách bạn muốnCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
MySQL sử dụng 3 byte để lưu trữ giá trị
3. Các giá trị củaCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
3 nằm trong khoảng từCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
0 đếnCode language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
1. 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ịCode language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
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. ,
2 đến giá trị ngày 0Code language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
3Code language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
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
3
SELECT first_name, last_name, birth_date FROM people;
Code language: SQL [Structured Query Language] [sql]
2Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Tiếp theo, chèn một hàng vào bảng
5Code language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
4Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Sau đó, truy vấn dữ liệu từ bảng
5Code language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Sau đó, sử dụng định dạng năm có hai chữ số để chèn dữ liệu vào bảng
5Code language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
Code language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
Ở 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
5 để kiểm tra xem dữ liệu có được chuyển đổi dựa trên quy tắc chuyển đổi hay khôngCode language: SQL [Structured Query Language] [sql]
INSERT INTO people[first_name,last_name,birth_date] VALUES['Jack','Daniel','01-09-01'], ['Lily','Bush','80-09-01'];
Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Các hàm MySQL SELECT
first_name,
last_name,
birth_date
FROM
people;
Code language: SQL [Structured Query Language] [sql]
3
SELECT
first_name,
last_name,
birth_date
FROM
people;
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
0Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
3____24
SELECT first_name, last_name, birth_date FROM people;
Code language: SQL [Structured Query Language] [sql]
Để chỉ lấy một phần ngày của giá trị
1, bạn sử dụng hàmCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
2Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
7____28Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Để lấy ngày hiện tại của hệ thống, bạn sử dụng hàm
3 như sauCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
0Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
40Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Để định dạng giá trị ngày tháng, bạn sử dụng hàm
7. Câu lệnh sau định dạng ngày là_______05 sử dụng mẫu định dạng ngàyCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
6Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
41Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
42Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Để tính số ngày giữa 2 giá trị ngày các bạn sử dụng hàm
7 như sauCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
43Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
44Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Để 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
8Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
45
SELECT first_name, last_name, birth_date FROM people;
Code language: SQL [Structured Query Language] [sql]
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
9.Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
46Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
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
30,Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
31,Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
32 vàCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
33 như sau.Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
47Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
48Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Để có được các chức năng liên quan đến tuần thông tin tuần. Ví dụ: hàm
34 trả về số tuần, hàmCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
35 trả về chỉ số ngày trong tuần và hàmCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
36 trả về tuần theo lịchCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
49Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
0Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
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
1Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
2Code language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;
Trong hướng dẫn này, bạn đã tìm hiểu về loại dữ liệu MySQL
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àyCode language: SQL [Structured Query Language] [sql]
SELECT first_name, last_name, birth_date FROM people;