Các dữ liệu khác có thể đơn giản, nhưng đối với kiểu ngày, giờ sẽ có nhiều khó khăn cho người mới dùng nó. Vì vậy cafedev chia sẻ cho ace một số kiến thức và kinh nghiệm khi làm việc với kiểu này.

1. Date trong SQL

Phần khó khăn 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.

2. Các kiểu Date trong SQL

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 – format YYYY-MM-DD
  • DATETIME – format: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP – format: YYYY-MM-DD HH:MI:SS
  • YEAR – format YYYY or YY

SQL Server đ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 – format YYYY-MM-DD
  • DATETIME – format: YYYY-MM-DD HH:MI:SS
  • SMALLDATETIME – format: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP – format: là một con số duy nhất

Lưu ý: Các loại ngày được chọn 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!

3. Ví dụ

Bạn có thể so sánh hai ngày một cách dễ dàng nếu không có thành phần thời gian liên quan!

Bảng Order:

OrderIdProductNameOrderDate
1Cơm2020-11-11
2Bánh mỳ2020-11-09
3Thịt gà chiên2018-11-11
4Bánh tráng2017-10-29

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

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

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

Mẹo: Để giữ cho các truy vấn của bạn đơn giản và dễ bảo trì, không cho phép các thành phần thời gian trong ngày tháng của bạn!

Full series tự học SQL từ cơ bản tới nâng cao tại đây nha.

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!