Aracılığıyla paylaş


DATETIMEOFFSETFROMPARTS (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric'te SQL Veritabanı

Belirtilen tarih ve zaman argümanları için bir datetimeoffset değeri döndürür. Geri dönen değer, hassasiyet argümanı tarafından belirlenen bir hassasiyete ve ofset argümanları tarafından belirtilen bir ofsete sahiptir.

Transact-SQL söz dizimi kuralları

Sözdizimi

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )  

Arguments

yıl
Bir yılı belirten tam sayı ifadesi.

ay
Bir ayı belirten tam sayı ifadesi.

gün
Bir günü belirten tam sayı ifadesi.

saat
Saatleri belirten tam sayı ifadesi.

dakika
Dakikaları belirten bir tamsayı ifadesi.

Saniye
Saniyeleri belirten tam sayı ifadesi.

Kesir
Kesirli saniye değerini belirten tam sayı ifadesi.

hour_offset
Saat dilimi ofsetinin saat kısmını belirten bir tamsayı ifadesi.

minute_offset
Saat dilimi ofsetinin dakika kısmını belirten tam sayı ifadesi.

kesinlik
Döndürecek datetimeoffset değerinin DATETIMEOFFSETFROMPARTS hassasiyetini belirten tam sayı literal değer.

Dönüş türleri

datetimeoffset(precision)

Açıklamalar

DATETIMEOFFSETFROMPARTS Tam başlatılmış bir datetimeoffset veri türü döner. Ofset argümanları zaman dilimi ofsetini temsil eder. Atlanan ofset argümanları için, DATETIMEOFFSETFROMPARTS zaman dilimi ofseti varsayar: 00:00 - yani zaman bölgesi ofseti yok. Belirli ofset argümanları için, DATETIMEOFFSETFROMPARTS her iki argüman için de değerler bekler ve her iki değer de pozitif veya negatifdir. Eğer minute_offset bir değeri varsa ve hour_offset değeri yoksa, DATETIMEOFFSETFROMPARTS hata oluşur. DATETIMEOFFSETFROMPARTS diğer argümanların geçersiz değerleri varsa hata çıkarır. En az bir gerekli argüman değeri varsa NULL , DATETIMEOFFSETFROMPARTS döndürür NULL. Ancak, eğer hassasiyet argümanı bir NULL değere sahipse, DATETIMEOFFSETFROMPARTS hata oluşturur.

Kesirler argümanı hassasiyet argümanına bağlıdır. Örneğin, 7 hassasiyet değeri için her kesir 100 nanosaniyeyi temsil eder; 3 hassasiyet için, her kesir bir milisaniyeyi temsil eder. Sıfır hassasiyet değeri için, kesirlerin değeri de sıfır olmalıdır; aksi takdirde DATETIMEOFFSETFROMPARTS hata çıkarır.

Bu fonksiyon, SQL Server 2012 (11.x) ve üzeri sunuculara uzaktan bağlanabilir. SQL Server 2012 (11.x) altındaki sürümü olan sunuculara uzaktan bağlanmamıştır.

Örnekler

A. Saniyenin kesirleri olmayan bir örnek

SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;  

Sonuç kümesi aşağıdadır.

Result  
----------------------------------
2010-12-31 14:23:23.0000000 +12:00  
  
(1 row(s) affected)  

B. Saniyenin kesirleriyle örnek

Bu örnek, kesirler ve hassasiyet parametrelerinin kullanımını gösterir:

  1. Kesirlerin değeri 5, hassasiyetin değeri ise 1 olduğunda, kesirlerin değeri saniyenin 5/10'unu temsil eder.

  2. Kesirlerin değeri 50, hassasiyetin değeri ise 2 olduğunda, kesirlerin değeri saniyenin 50/100'ünü temsil eder.

  3. Kesirlerin değeri 500, hassasiyet ise 3 olduğunda, kesirlerin değeri 500/1000 saniyeyi temsil eder.

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 aşağıdadı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)  

Ayrıca bakınız

datetimeoffset (Transact-SQL)
ZAMAN DILIMINDE (Transact-SQL)