Aracılığıyla paylaş


DATEPART (Transact-SQL)

Belirtilen temsil eden bir tamsayı döndürür datepart belirtilen date.

Tüm genel bakış için Transact-SQLBkz:tarih ve saat veri türleri ve İşlevler, Tarih ve Saat İşlevleri (Transact-SQL).Bilgi ve tarih ve saat veri türleri ve işlevleri ortaktır örnekler için bkz: Tarih ve saat veri kullanma.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

DATEPART ( datepart , date )

Bağımsız değişkenler

  • datepart
    Parçası olan date (bir tarih veya saat değeri) olan bir integer döndürülür.Aşağıdaki tablo geçerli listeler datepart bağımsız değişkeni.Kullanıcı tanımlı değişken eşdeğerleri geçerli değildir.

    datepart

    Kısaltmalar

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    weekday

    dw

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

    microsecond

    mcs

    nanosecond

    ns

    TZoffset

    tz

    ISO_WEEK

    isowk, isoww

  • date
    İçin çözümlenebilir bir ifade bir time, date, smalldatetime, datetime, datetime2, veya datetimeoffset değer.dateifade, sütunifade, kullanıcı tanımlı değişken ya da dize hazır bilgi olabilir.

    Belirsizlik önlemek için dört basamaklı yıl kullanın.İki basamaklı yılları hakkında daha fazla bilgi için bkz: iki basamaklı yıl kesme seçeneği.

Dönüş Türü

int

Dönüş Değeri

Her datepart ve kendi kısaltmaları aynı değeri.

Dönüş değeri dil ortamı küme kullanarak bağlı Dil ve bunun varsayılan dil oturum açma.date Bir dize literal bazı biçimleri için dönüş değeri kullanarak belirtilen biçimde bağlıdır VBLONGDATE set.tarih tarih ve saat veri türü sütunifade olan AYARLAMAK VBLONGDATE dönüş değeri etkilemez.

Aşağıdaki tablo tüm listeler datepart bağımsız değişkenlerle ilgili dönüş değerleri deyim SELECT DATEPART(datepart,'2007-10-30 12:15:32.1234567 +05:10').Veri türü date bağımsız değişkeni datetimeoffset(7).nanoseconddatepart Dönüş değeri olan bir ölçek 9 (. 123456700) ve son iki konum her zaman 00.

datepart

Dönüş değeri

year, yyyy, yy

2007

quarter, qq, q

4

month, mm, m

10

dayofyear, dy, y

303

day, dd, d

30

week, wk, ww

45

weekday, dw

1

hour, hh

12

minute, n

15

second, ss, s

32

millisecond, ms

123

microsecond, mcs

123456

nanosecond, ns

123456700

TZoffset, tz

310

hafta içi ve hafta datepart değişkenleri

Zaman datepart olan week ()wk, ww) veya weekday ()dw), dönüş değeri küme kullanarak değeri bağlıdır set datefirst.

Her yılın 1 Ocak başlangıç numarasını tanımlar weekdatepart, örneğin: datepart (wk, ' 1 Ocak'ta xxxx') = 1, burada xxxx her yıl.

Aşağıdaki tablo listeleri için dönen değer week ve weekdaydatepart için ' 2007-04-21 ' Her set DATEFIRST bağımsız değişkeni için.1 Ocak 2007 yılında Pazar günüdür.21 Nisan Cumartesi 2007 yılında olur.set DATEFIRST 7, Pazar, ABD için varsayılan değerdirİngilizce.

SET DATEFIRST

bağımsız değişken

hafta

döndürüldü

iş günü

döndürüldü

1

16

6

2

17

5

3

17

4

4

17

3

5

17

2

6

17

1

7

16

7

Yıl, ay ve gün datepart değişkenleri

datepart için döndürülen değerleri (year, date), datepart (month, date) ve datepart (day, date) aynı işlevleri tarafından döndürülen yıl, ay, ve gün, f sırasıyla.

ISO_WEEK datepart

ISO 8601 ISO haftatarih sistemi, bir hafta numaralandırma sistemini içerir.Her hafta Perşembe oluştuğu yıl ile ilişkilidir.Örneğin, 2004 (2004W01) 1 haftanın Pazartesi 29 Aralık 2003'ten Pazar, 4 Ocak 2004'e kaldı.En yüksek hafta numarasını bir yılda 52 veya 53 olabilir.Bu stil numaralandırma genellikle Avrupa ülkelerinde, ancak nadiren başka yerlerde kullanılır.

Farklı ülkelerde/bölgelerde numaralandırma sistemini ISO standart uyumlu olmadığı.Aşağıdaki tablogösterildiği gibi en az altı olasılık vardır

Haftanın ilk günü

Yılın ilk haftası içerir

İki kez atanan hafta

Tarafından/kullanılan

Pazar

1 Ocak

İlk Cumartesi

yıl sayısı için 1–7 arası gün

Evet

ABD

Pazartesi

1 Ocak

İlk Pazar

yıl sayısı için 1–7 arası gün

Evet

Çoğu Avrupa ve Birleşik Krallık

Pazartesi

4 Ocak

İlk Perşembe

yıl sayısı için 4–7 arası gün

Hayır

ISO 8601, Norveç ve İsveç

Pazartesi

7 Ocak

İlk Pazartesi günü

yılın 7 gün

Hayır

Çarşamba

1 Ocak

İlk Salı

yıl sayısı için 1–7 arası gün

Evet

Cumartesi

1 Ocak

İlk Cuma

yıl sayısı için 1–7 arası gün

Evet

TZoffset

TZoffset ()tz) (İmzalı) dakika sayısı olarak döndü.Aşağıdaki deyim , 310 dakika bir saat dilimi uzaklığı döndürür.

SELECT DATEPART (TZoffset, 2007-05-10  00:00:01.1234567 +05:10);

datepart Bağımsız değişkeni TZoffset ()tz) ve date olmayan bağımsız değişken değil, datetimeoffset veri türü null döner.

smalldatetime tarih bağımsız değişkeni

Zaman date olan smalldatetime, saniye 00 döndürdü.

Bir datepart değil yani tarih bağımsız değişkeni için varsayılan iade

Veri türünü, date bağımsız değişkeni belirtilen yok datepart, varsayılan değer, datepart döndürülür.

Örneğin, varsayılan yıl-ay-gün herhangi date veri türü olan 1900-01-01.tarih bölümü bağımsız değişkenleri aşağıdaki deyim olan datepart, bir saat bağımsız değişkeni için dateve 1900, 1, 1, 1, 2.

SELECT DATEPART(year, '12:10:30.123')
    ,DATEPART(month, '12:10:30.123')
    ,DATEPART(day, '12:10:30.123')
    ,DATEPART(dayofyear, '12:10:30.123')
    ,DATEPART(weekday, '12:10:30.123');

Varsayılan saat-dakika-saniye için time veri türü olan 00: 00:00.saat bölümü bağımsız değişkenleri aşağıdaki deyim olan datepart, bir tarih bağımsız değişkeni için dateve 0, 0, 0.

SELECT DATEPART(hour, '2007-06-01')
    ,DATEPART(minute, '2007-06-01')
    ,DATEPART(second, '2007-06-01');

Kesirli saniye

Kesirli saniye aşağıdaki tablolarda gösterildiği gibi döndürülür:

SELECT DATEPART(millisecond, '00:00:01.1234567'); -- Returns 123
SELECT DATEPART(microsecond, '00:00:01.1234567'); -- Returns 123456
SELECT DATEPART(nanosecond,  '00:00:01.1234567'); -- Returns 123456700

Açıklamalar

datepart seçme listesinde kullanılabilir nerede, HAVING, by ve order by yan tümceleri GRUPLANDIRMAK.De SQL Server 2008, datepart örtülü olarak çevirir ve dize hazır olarak datetime2 türleri.datepart dateadd ile kullanırken, düz dize kümesinde örtülü yayınları kaçının.Daha fazla bilgi için, bkz. DATEADD (Transact-SQL).

Örnekler

Aşağıdaki örnek, temel yılı verir.Temel yıl tarih hesaplamaları için yararlıdır.Örnekte, tarih sayı olarak belirtilir.Dikkat SQL Server 1 Ocak 1900 0 yorumlar.

SELECT DATEPART(year, 0), DATEPART(month, 0), DATEPART(day, 0);
-- Returns: 1900    1    1 */

Ayrıca bkz.

Başvuru