Cải tiến trong lệnh T-SQL của SQL Server 2008- P9 doc

5 254 0
Cải tiến trong lệnh T-SQL của SQL Server 2008- P9 doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

) GO Khai báo biến TIME để lưu trữ thời gian DECLARE @StartTime TIME = '00:01' DECLARE @EndTime TIME = '08:00' INSERT INTO ShiftMaster(ShiftName, StartTime, EndTime) VALUES ('Shift A', @StartTime, @EndTime), ('Shift B','08:01', '04:00'), ('Shift C','04:01', '00:00') GO SELECT * FROM ShiftMaster GO DATETIMEOFFSET Đây là một kiểu dữ liệu mới khác của SQL Server 2008. Nhờ kiểu dữ liệu này chúng ta có thể lưu trữ ngày/giờ với độ chính xác rất cao. Dù chúng ta không thể lưu trữ múi giờ như Eastern Time, Central Time, … nhưng chúng ta có thể lưu trữ offset -5:00 cho Eastern Standard Time và -6:00 cho Central Standard Time, … Vùng dữ liệu Date trong khoảng từ 01-01- 0001 tới 12-31-9999, vùng Time trong khoảng 00:00:00 tới 23:59:59.9999999. Vùng Offset trong khoảng từ -14:00 đến +14:00. Độ chính xác của dữ liệu có thể được cài đặt thủ công theo lịch Gregorian. DATETIMEOFFSET định nghĩa một ngày mà được kết hợp với một khoảng thời gian của một ngày khác nhận biết được múi giờ và dựa trên hệ giờ 24 giờ. CREATE TABLE OrderMaster ( OrderID INT IDENTITY, CustomerID INT, OrderDateTIme DATETIMEOFFSET DATETIMEOFFSET data type to store date and time along with the time-zone offset ) GO Khai báo biến DATETIMEOFFSET để lưu trữ ngày và giờ cùng với Offset múi giờ DECLARE @OrderDateTIme DATETIMEOFFSET= '2009-01-16 00:24 +05:30' INSERT INTO OrderMaster(CustomerID, OrderDateTIme) VALUES (1, @OrderDateTIme), (1,'2009-01-18 00:24 +05:30'), (2,'2009-01-18 00:24 -04:00') GO SELECT * FROM OrderMaster GO DATETIME2 Lí do SQL Server 2008 giới thiệu kiểu dữ liệu DATETIME2 là do kiểu dữ liệu DATETIME không phù hợp với chuẩn SQL, và DATETIME không hoàn toàn tương thích với kiểu dữ liệu .NET DATETIME. Về cơ bản DATETIME2 là sự kết hợp của kiểu dữ liệu DATE và TIME mới và sử dụng 6 đến 8 byte. Kích thước thực được xác định bởi mức độ chính xác của dữ liệu được lưu trữ, ví dụ, DATETIME(0) sẽ sử dụng 6 byte, DATETIME(3) sẽ sử dụng 7 byte trong khi đó DATETIME(7) mặc định sử dụng 8 byte (con số bên trong dấu ngoặc cho biết độ chính xác của thông tin, và bạn có thể thay đổi giá trị này trong khoảng 0 đến 7). DATETIME2 chấp nhận nhiều định dạng chuỗi. Kiểu dữ liệu này cũng sử dụng lịch Gregorian, và chúng ta không thể chỉ định múi giờ trong kiểu dữ liệu này. Ngoài những thay đổi trong kiểu dữ liệu, SQL Server 2008 còn giới thiệu 5 hàm mới, gồm SYSDATETIME, SYSDATETIMEOFFSET, SYSUTCDATETIME, SWITCHOFFSET và TODATETIMEOFFSET. Hàm SYSDATETIME trả về thời gian hiện tại của hệ thống mà không có múi giờ với độ chính xác 10 mili giây. . Vùng dữ liệu Date trong khoảng từ 01-01- 0001 tới 12-31-9999, vùng Time trong khoảng 00:00:00 tới 23:59:59.9999999. Vùng Offset trong khoảng từ -14:00 đến +14:00. Độ chính xác của dữ liệu có. DATETIME(3) sẽ sử dụng 7 byte trong khi đó DATETIME(7) mặc định sử dụng 8 byte (con số bên trong dấu ngoặc cho biết độ chính xác của thông tin, và bạn có thể thay đổi giá trị này trong khoảng 0 đến. dụng lịch Gregorian, và chúng ta không thể chỉ định múi giờ trong kiểu dữ liệu này. Ngoài những thay đổi trong kiểu dữ liệu, SQL Server 2008 còn giới thiệu 5 hàm mới, gồm SYSDATETIME, SYSDATETIMEOFFSET,

Ngày đăng: 08/07/2014, 08:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan