DATETIMEOFFSETFROMPARTS (Transact-sql)
Döner bir datetimeoffsetdeğeri belirtilen tarih ve Saat ve belirtilen uzaklıklar ve hassas.
Transact-SQL Sözdizim Kuralları
Sözdizimi
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
Bağımsız değişkenler
year
Bir yıl belirterek tamsayı ifadesi.month
Bir ay belirterek tamsayı ifadesi.day
Bir gün belirterek tamsayı ifadesi.hour
Saat belirterek tamsayı ifadesi.minute
Dakika belirterek tamsayı ifadesi.seconds
Tamsayı ifade saniye belirtme.fractions
Kesirler belirterek tamsayı ifadesi.hour_offset
Saat dilimi uzaklığı saat kısmını belirterek tamsayı ifadesi.minute_offset
Saat dilimi uzaklığı dakika kısmını belirterek tamsayı ifadesi.precision
Duyarlılığını belirten tamsayı sabit datetimeoffset döndürülecek değer.
Dönüş Türleri
datetimeoffset ( precision )
Açıklamalar
DATETIMEOFFSETFROMPARTStam olarak başlatılmamış döner datetimeoffsetveri türü. Mahsup argümanlar, Saat dilimi uzaklığı temsil etmek için kullanılır. Mahsup argümanlar, o zaman dilimi uzaklığı 00: 00 varsayılır atlanırsa, orada hiçbir Saat dilimi uzaklığı. Mahsup bağımsız değişken belirtilmezse, hem bağımsız olmalıdır ve hem de pozitif veya negatif olması gerekir. Eğer minute_offsetolmadan belirtilen hour_offset, bir hata oluşturulur. Diğer bağımsız değişkenler geçerli değilse, bir hata oluşturulur. Gerekli bağımsız değişkenler null ise, boş döndürülür. Ancak, eğer precisionbağımsız değişken null ise, o zaman bir hata oluşturulur.
fractionsBağımsız değişkeni bağlı precisiondeğişkeni. Örneğin, eğer precisionsonra 100 nanosaniye şeklindedir; her Fraksiyonu temsil eden 7, 's Eğer precision3, sonra her bölümü temsil eden bir milisaniye. Eğer değeri precisionsıfır, sonra değerini fractionsde sıfır; olmalıdır Aksi durumda, bir hata oluşturulur.
Bu işlev için uzak olma yeteneğine sahip SQL Server 2012sunucuları ve üstü. Bir versiyonu olan sunucularına uzak olmayacak SQL Server 2012.
Örnekler
A.Saniyenin kesirleri olmadan basit bir örnek
SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;
SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;
Sonuç kümesi buradadır.
Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00
(1 row(s) affected)
Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00
(1 row(s) affected)
B.Kesirli ikinci bir örnek
Aşağıdaki örnek kullanımını göstermektedir fractionsve precisionParametreler:
Ne zaman fractions5 değerine sahiptir ve precision1, sonra değeri değeri fractions5/10 saniyenin gösterir.
Ne zaman fractions50 değerine sahiptir ve precision2, sonra değeri değeri fractions50/100 saniyenin gösterir.
Ne zaman fractions500 değerine sahiptir ve precision3, sonra değeri değeri fractions500/1000 saniyenin gösterir.
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO
Sonuç kümesi buradadır.
----------------------------------
2011-08-15 14:30:00.5 +12:30
(1 row(s) affected)
----------------------------------
2011-08-15 14:30:00.50 +12:30
(1 row(s) affected)
----------------------------------
2011-08-15 14:30:00.500 +12:30
(1 row(s) affected)
----------------------------------
2011-08-15 14:30:00.5 +12:30
(1 row(s) affected)
----------------------------------
2011-08-15 14:30:00.50 +12:30
(1 row(s) affected)
----------------------------------
2011-08-15 14:30:00.500 +12:30
(1 row(s) affected)