PostgreSQL EXTRACT İşlevi

PostgreSQL EXTRACT()işlevi, bir tarih/saat değerinden yıl, ay ve gün gibi bir alanı alır.
PostgreSQL EXTRACT İşlevi

Sözdizimi

Aşağıda, EXTRACT()işlevin sözdizimi gösterilmektedir :

EXTRACT(field FROM source)
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

 

Argümanlar

PostgreSQL EXTRACT()işlevi iki argüman gerektirir:

1) field

Alan bağımsız değişkeni, tarih/saat değerinden hangi alanın çıkarılacağını belirtir.

Aşağıdaki tablo geçerli alan değerlerini gösterir:

Alan değeri ZAMAN DAMGAMI Aralık
CENTURY Yüzyıl Yüzyılların sayısı
DAY Ayın günü (1-31) gün sayısı
DECADE Yılın 10'a bölümü olan on yıl TIMESTAMP ile aynı
DOW Pazar (0) ile Cumartesi (6) arası haftanın günü Yok
DOY 1 ile 366 arasında değişen yılın günü Yok
EPOCH 1970-01-01 00:00:00 UTC'den bu yana geçen saniye sayısı Aralıktaki toplam saniye sayısı
HOUR Saat (0-23) saat sayısı
ISODOW ISO 8601'e göre haftanın günü Pazartesi (1) - Pazar (7) Yok
ISOYEAR ISO 8601 hafta sayısı yıl Yok
MICROSECONDS Saniye alanı, kesirli kısımlar dahil, 1000000 ile çarpılır TIMESTAMP ile aynı
MILLENNIUM milenyum milenyum sayısı
MILLISECONDS Saniye alanı, kesirli kısımlar dahil, 1000 ile çarpılır TIMESTAMP ile aynı
MINUTE Dakika (0-59) dakika sayısı
MONTH Ay, 1-12 Ay sayısı, modulo (0-11)
QUARTER Yılın çeyreği Çeyrek sayısı
SECOND İkinci saniye sayısı
TIMEZONE Saniye cinsinden ölçülen UTC'den saat dilimi farkı Yok
TIMEZONE_HOUR Saat dilimi farkının saat bileşeni Yok
TIMEZONE_MINUTE Saat dilimi farkının dakika bileşeni Yok
WEEK Yılın ISO 8601 hafta numaralandırma haftasının numarası Yok
YEAR Yıl TIMESTAMP ile aynı

2) source

sourceTipte bir değerdir TIMESTAMP ya da INTERVAL. Bir DATEdeğer iletirseniz, işlev onu bir TIMESTAMPdeğere dönüştürür.

Geri dönüş değeri

EXTRACT()Fonksiyon, bir çift hassas değer geri gönderir.

Örnekler

A) TIMESTAMP örneklerinden çıkarma

Bir zaman damgasından yılı çıkarma:

SELECT EXTRACT(YEAR FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

İşte sonuç:

2016
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Çeyreği bir zaman damgasından çıkarmak:

SELECT EXTRACT(QUARTER FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

sonuç

4
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından ayı çıkarma:

SELECT EXTRACT(MONTH FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç aşağıdaki gibidir:

12
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından gün çıkarma:

SELECT EXTRACT(DAY FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

İşte sonuç:
31

Century'yi bir zaman damgasından çıkarmak:

SELECT EXTRACT(CENTURY FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Beklendiği gibi 21 döndürdü:

21
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından on yılı çıkarma:

SELECT EXTRACT(DECADE FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç aşağıdaki gibidir:

201
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından haftanın gününü çıkarma:

SELECT EXTRACT(DOW FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç:

6
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından yılın gününü çıkarmak:

SELECT EXTRACT(DOY FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

366 döndürdü:

366
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Çağı bir zaman damgasından çıkarmak:

SELECT EXTRACT(EPOCH FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç:

1483191015
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından saat ayıklanıyor:

SELECT EXTRACT(HOUR FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç:

13
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Dakikayı bir zaman damgasından çıkarmak:

SELECT EXTRACT(MINUTE FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

İşte sonuç:

30
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından saniye çıkarma:

SELECT EXTRACT(SECOND FROM TIMESTAMP '2016-12-31 13:30:15.45');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç, ikinci ve kesirli saniyelerini içerir:

15.45
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

ISO 8601'e göre haftanın gününü çıkarmak:

SELECT EXTRACT(ISODOW FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından milisaniyeyi çıkarma:

SELECT EXTRACT(MILLISECONDS FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç 15 * 1000 = 15000

15000
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir zaman damgasından mikrosaniyeleri çıkarma:

SELECT EXTRACT(MICROSECONDS FROM TIMESTAMP '2016-12-31 13:30:15');
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç 15 * 1000000 = 15000000

15000000
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

B) Aralık örneklerinden çıkarma

Bir aralıktan yılı çıkarma:

SELECT EXTRACT(YEAR FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

6
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Çeyreğin bir aralıktan çıkarılması:

SELECT EXTRACT(QUARTER FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

2
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir aralıktan ayı çıkarmak:

SELECT EXTRACT(MONTH FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

5
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bir aralıktan günü çıkarmak:

SELECT EXTRACT(DAY FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

4
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Saati bir aralıktan çıkarma:

SELECT EXTRACT(HOUR FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

3
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Dakikayı bir aralıktan çıkarma:

SELECT EXTRACT(MINUTE FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

2
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

İkinciyi bir aralıktan çıkarmak:

SELECT EXTRACT(SECOND FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

1
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Milisaniyeyi bir aralıktan çıkarma:

SELECT EXTRACT(MILLISECONDS FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

1000
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Mikrosaniyeyi bir aralıktan çıkarma:

SELECT EXTRACT(MICROSECONDS FROM INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

1000000
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

On yılı bir aralıktan çıkarmak:

SELECT EXTRACT(DECADE FROM INTERVAL '60 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

60
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Bin yılı bir aralıktan çıkarmak:

SELECT EXTRACT(MILLENNIUM FROM INTERVAL '1999 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

1
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Yüzyılı bir aralıktan çıkarmak:

SELECT EXTRACT(CENTURY FROM INTERVAL '1999 years 5 months 4 days 3 hours 2 minutes 1 second' );
Kod dili: PostgreSQL SQL lehçesi ve PL/pgSQL ( pgsql )

Sonuç

19

 

Kaynak

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...