Hướng dẫn MySQL

MySQL HOME Giới thiệu MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL Ở ĐÂU MySQL VÀ, HOẶC, KHÔNG ĐẶT HÀNG MySQL BỞI CHÈN MySQL VÀO Giá trị MySQL NULL CẬP NHẬT MySQL MySQL DELETE MySQL LIMIT MySQL MIN và MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL Wildcards MySQL IN MySQL GIỮA Bí danh MySQL MySQL tham gia MySQL INNER THAM GIA MySQL THAM GIA TRÁI THAM GIA QUYỀN MySQL THAM GIA CROSS MySQL MySQL Tự tham gia MySQL UNION MySQL GROUP BY MySQL CÓ MySQL tồn tại MySQL BẤT CỨ, TẤT CẢ CHÈN CHÈN MySQL MySQL CASE MySQL Null Functions Nhận xét MySQL Toán tử MySQL

Cơ sở dữ liệu MySQL

MySQL Tạo cơ sở dữ liệu MySQL Drop DB MySQL Tạo bảng Bảng thả MySQL Bảng MySQL Alter Các ràng buộc của MySQL MySQL không rỗng MySQL duy nhất Khóa chính MySQL Khóa ngoại MySQL Kiểm tra MySQL MySQL mặc định MySQL Tạo chỉ mục Tăng tự động MySQL MySQL Dates Chế độ xem MySQL

Tham chiếu MySQL

Các kiểu dữ liệu MySQL Các chức năng của MySQL

Ví dụ về MySQL

Ví dụ về MySQL MySQL Quiz Bài tập MySQL

MySQL làm việc với ngày


MySQL Dates

Phần khó nhất khi làm việc với ngày tháng là đảm bảo rằng định dạng của ngày bạn đang cố gắng chèn khớp với định dạng của cột ngày tháng trong cơ sở dữ liệu.

Miễn là dữ liệu của bạn chỉ chứa phần ngày tháng, các truy vấn của bạn sẽ hoạt động như mong đợi. Tuy nhiên, nếu liên quan đến một phần thời gian, nó sẽ phức tạp hơn.


Các kiểu dữ liệu ngày trong MySQL

MySQL đi kèm với các kiểu dữ liệu sau để lưu trữ ngày hoặc giá trị ngày / giờ trong cơ sở dữ liệu:

  • DATE- định dạng YYYY-MM-DD
  • DATETIME- định dạng: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP- định dạng: YYYY-MM-DD HH: MI: SS
  • YEAR- định dạng YYYY hoặc YY

Lưu ý: Kiểu dữ liệu ngày tháng được đặt cho một cột khi bạn tạo một bảng mới trong cơ sở dữ liệu của mình!


Làm việc với Ngày

Nhìn vào bảng sau:

Bảng đơn hàng

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Bây giờ chúng ta muốn chọn các bản ghi có OrderDate là "2008-11-11" từ bảng trên.

Chúng tôi sử dụng SELECTcâu lệnh sau:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Tập hợp kết quả sẽ giống như sau:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Lưu ý: Có thể dễ dàng so sánh hai ngày nếu không có thành phần thời gian liên quan!

Bây giờ, giả sử rằng bảng "Đơn hàng" trông như thế này (lưu ý thành phần thời gian được thêm vào trong cột "Ngày đặt hàng"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Nếu chúng ta sử dụng SELECTcâu lệnh tương tự như trên:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

chúng tôi sẽ không nhận được kết quả! Điều này là do truy vấn chỉ tìm kiếm các ngày không có phần thời gian.

Mẹo: Để giữ cho các truy vấn của bạn đơn giản và dễ duy trì, không sử dụng các thành phần thời gian trong ngày tháng của bạn, trừ khi bạn phải làm như vậy!