Hướng dẫn SQL

TRANG CHỦ SQL Giới thiệu SQL Cú pháp SQL Lựa chọn SQL SQL Chọn phân biệt SQL ở đâu SQL Và, Hoặc, Không Đặt hàng SQL theo Chèn SQL vào Giá trị rỗng trong SQL Cập nhật SQL SQL Delete SQL Select Top SQL Min và Max Số lượng SQL, Trung bình, Tổng SQL như Ký tự đại diện SQL SQL trong SQL giữa Bí danh SQL SQL tham gia Tham gia bên trong SQL SQL còn lại tham gia SQL Right Join Tham gia đầy đủ SQL SQL tự tham gia SQL Union Nhóm SQL bởi SQL có SQL tồn tại SQL Bất kỳ, Tất cả SQL chọn vào Chèn SQL vào vùng chọn Trường hợp SQL Hàm Null trong SQL Thủ tục lưu trữ SQL Nhận xét SQL Toán tử SQL

Cơ sở dữ liệu SQL

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

Tham chiếu SQL

Từ khóa SQL Các chức năng của MySQL Các chức năng của SQL Server Chức năng MS Access Tham khảo nhanh SQL

Ví dụ về SQL

Ví dụ về SQL Câu hỏi SQL Bài tập SQL Chứng chỉ SQL

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


SQL Dates

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.


Các kiểu dữ liệu ngày 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 - đị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

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 - định dạng YYYY-MM-DD
  • DATETIME - định dạng: YYYY-MM-DD HH: MI: SS
  • SMALLDATETIME - định dạng: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP- định dạng: một số duy nhất

Lưu ý: 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!


SQL 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!