T-SQL TIMEFROMPARTS()
chức năng cho phép bạn tạo thời gian giá trị từ các phần thời gian khác nhau. Bạn cũng có thể chỉ định độ chính xác của giá trị trả về.
Dưới đây là các ví dụ về cách hoạt động của chức năng này.
Cú pháp
Cú pháp như sau:
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Trong đó 4 đối số đầu tiên là biểu thức số nguyên xác định phần thời gian cụ thể đó. Đối số thứ 5 là một số nguyên theo nghĩa đen chỉ định độ chính xác của thời gian giá trị được trả lại.
Ví dụ
Đây là một ví dụ để chứng minh.
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;
Kết quả:
+------------------+ | Result | |------------------| | 23:35:29.1234567 | +------------------+
Trong trường hợp này, tôi đã chỉ định giá trị chính xác là 7.
Nói chính xác hơn (không có ý định chơi chữ), đối số chính xác thực sự chỉ định tỷ lệ . Thang đo là số chữ số ở bên phải dấu thập phân. Độ chính xác là tổng số chữ số.
Đối số không hợp lệ
Nếu bất kỳ đối số nào không hợp lệ, lỗi sẽ xảy ra. Ví dụ:
SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;
Kết quả:
Cannot construct data type time, some of the arguments have values which are not valid.
Trong trường hợp này, tôi đã cung cấp một phút đối số của 61
.
Số lượng đối số
Lỗi cũng sẽ xảy ra nếu bạn không cung cấp số lượng đối số chính xác. Ví dụ:
SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;
Kết quả:
The timefromparts function requires 5 argument(s).
Giá trị rỗng
Nếu bất kỳ đối số nào trong 4 đối số đầu tiên là rỗng, kết quả là NULL
:
SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;
Kết quả:
+----------+ | Result | |----------| | NULL | +----------+
Tuy nhiên, nếu đối số thứ 5 ( precision ) là null, một lỗi xảy ra:
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;
Kết quả:
Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.
Điều khiển từ xa
Microsoft tuyên bố rằng TIMEFROMPARTS()
chức năng có thể được điều khiển từ xa đến máy chủ SQL Server 2012 (11.x) và cao hơn. Nó không thể được điều khiển từ xa đến các máy chủ có phiên bản thấp hơn SQL Server 2012 (11.x).
Một chức năng tương tự
Ngoài ra, hãy xem SMALLDATETIMEFROMPARTS () Ví dụ trong SQL Server (T-SQL) để nhận smalldatetime giá trị thay vì thời gian giá trị.