Tham khảo tài liệu 'cải tiến trong lệnh t-sql của sql server 2008- p8', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Kiểu dữ liệu Date và Time mới Trường hợp ứng dụng thực Không ai có thể phủ nhận tầm quan trọng của một kiểu dữ liệu chỉ có thể lưu trữ ngày tháng mà không có thời gian hoặc thời gian mà không có ngày tháng. Ví dụ để lưu trữ ngày sinh của một nhân viên chúng ta sẽ chỉ cần lưu trữ ngày còn thời gian là không cần thiết. Tương tự để lưu trữ những thông tin theo từng giai đoạn trong ngày như từ 00 01 tới 08 00 giai đoạn A từ 08 01 đến 16 00 giai đoạn B và từ 16 01 đến 24 00 giai đoạn C thì chúng ta chỉ cần lưu trữ thời gian còn ngày không liên quan trong trường hợp này. Cho tới phiên bản SQL Server 2005 chúng ta không có lựa chọn lưu trữ riêng biệt thay vào đó phải lựa chọn sử dụng kiểu dữ liệu hoặc DATETIME hoặc SMALLDATETIME. Việc lưu cả ngày và giờ không chỉ gây rắc rối khi làm việc mà còn làm lãng phí vùng lưu trữ. Ví dụ để lưu trữ ngày sinh của 100 triệu khách hàng chúng ta sẽ phải sử dụng khoảng 770MB nếu sử dụng kiểu dữ liệu DATETIME. Tuy nhiên trong SQL Server 2008 vấn đề này đã được khắc phục giờ đây chúng ta có thể lưu trữ cùng loại thông tin với dung lượng chiếm dụng ít hơn nhiều khoảng 290MB trong ví dụ trên chỉ lưu trữ ngày bằng cách chỉ lưu trữ ngày hoặc giờ. Không chỉ có vậy những kiểu dữ liệu mới này sẽ có một vùng rộng hơn thời gian được chia nhỏ tới đơn vị nano giây một phần tỷ giây và cho phép lưu trữ khoảng trống múi giờ với dữ liệu đó. SQL Server 2008 giới thiệu 4 kiểu dữ liệu DATETIME mới bao gồm DATE Trong các phiên bản SQL Server trước chúng ta phải sử dụng kiểu dữ liệu DATETIME hay SMALLDATETIME cho dù chúng ta chỉ cần lưu trữ Date. Những kiểu dữ liệu này lưu trữ thời gian như một thành phần của nó. Sau đó chúng ta cần phải định dạng dữ liệu kết xuất để chỉ hiện thị thành phần ngày. SQL Server 2008 giới thiệu kiểu dữ liệu DATE rất hữu dụng trong việc lưu trữ ngày. Nó hỗ trợ lịch Gregorian và sử dụng 3 byte để lưu trữ ngày. Vùng của kiểu dữ liệu DATE từ 01-01-0001 tới 12-319999 trong khi kiểu dữ liệu DATETIME có vùng từ 01-01-1753 tới 31-12-9999