T-SQL có một hàm được gọi là DATETIMEOFFSETFROMPARTS()
điều đó cho phép bạn nhận được datetimeoffset giá trị từ các phần riêng biệt khác nhau của một ngày. Cụ thể, nó trả về bộ datetimeoffset giá trị cho ngày và giờ được chỉ định và với hiệu số và độ chính xác được chỉ định.
Ví dụ về chức năng này bên dưới.
Cú pháp
Cú pháp như sau:
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
Ở đâu:
- 7 đối số đầu tiên là các biểu thức số nguyên xác định phần ngày / giờ cụ thể đó.
-
hour_offset
đối số là một biểu thức số nguyên chỉ định phần giờ của độ lệch múi giờ. -
minute_offset
là một biểu thức số nguyên chỉ định phần phút của độ lệch múi giờ. -
precision
đối số là một số nguyên theo nghĩa đen chỉ định độ chính xác của bộ datetimeoffs giá trị được trả lại. Giá trị này thực sự chỉ định tỷ lệ (tức là số chữ số ở bên phải của vị trí thập phân).
Ví dụ
Đây là một ví dụ về cách sử dụng.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, 4 ) AS Result;
Kết quả:
Result ---------------------------------- 2021-05-10 23:35:29.0500 +12:30
Đối số không hợp lệ
Bạn cần đảm bảo rằng tất cả các đối số đều hợp lệ, nếu không bạn sẽ gặp lỗi. Dưới đây là một ví dụ về việc cung cấp một phần giờ ngoài phạm vi (25). Phần giờ chỉ có thể nằm trong khoảng từ 0 đến 24.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 25, 35, 29, 500, 12, 30, 4 ) AS Result;
Kết quả:
Cannot construct data type datetimeoffset, some of the arguments have values which are not valid.
Số lượng đối số
Bạn cần cung cấp số lượng đối số chính xác (10). Nếu không, bạn sẽ gặp lỗi.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10 ) AS Result;
Kết quả:
The datetimeoffsetfromparts function requires 10 argument(s).
Đối số rỗng
Nếu bất kỳ đối số nào trong số 9 đối số đầu tiên là rỗng, kết quả là NULL
:
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 12, 30, 4 ) AS Result;
Kết quả:
Result ---------------------------------- NULL
Tuy nhiên, nếu đối số cuối cùng (chính xác) là rỗng, thì lỗi sẽ được trả về:
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, NULL ) AS Result;
Kết quả:
Scale argument is not valid. Valid expressions for data type datetimeoffset scale argument are integer constants and integer constant expressions.
Cũng xem DATETIME2FROMPARTS () Ví dụ trong SQL Server (T-SQL) để trả về datetime2 giá trị (không có phần bù).