Fungsi EKSTRAK - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi EKSTRAK

Fungsi EXTRACT mengembalikan bagian tanggal atau waktu dari nilai TIMESTAMP, TIMESTAMPTZ, TIME, atau TIMETZ. Contohnya termasuk hari, bulan, tahun, jam, menit, detik, milidetik, atau mikrodetik dari stempel waktu.

Sintaks

EXTRACT(datepart FROM source)

Argumen

datepart

Subbidang tanggal atau waktu untuk mengekstrak, seperti hari, bulan, tahun, jam, menit, detik, milidetik, atau mikrodetik. Untuk nilai yang mungkin, lihatBagian tanggal untuk fungsi tanggal atau stempel waktu.

sumber

Kolom atau ekspresi yang mengevaluasi tipe data TIMESTAMP, TIMESTAMPTZ, TIME, atau TIMETZ.

Jenis pengembalian

INTEGER jika nilai sumber mengevaluasi tipe data TIMESTAMP, TIME, atau TIMETZ.

PRESISI GANDA jika nilai sumber mengevaluasi tipe data TIMESTAMPTZ.

Contoh dengan TIMESTAMP

Contoh berikut menentukan angka minggu untuk penjualan di mana harga yang dibayarkan adalah $10.000 atau lebih.

select salesid, extract(week from saletime) as weeknum from sales where pricepaid > 9999 order by 2; salesid | weeknum --------+--------- 159073 | 6 160318 | 8 161723 | 26

Contoh berikut mengembalikan nilai menit dari nilai timestamp literal.

select extract(minute from timestamp '2009-09-09 12:08:43'); date_part --

Contoh berikut mengembalikan nilai milidetik dari nilai timestamp literal.

select extract(ms from timestamp '2009-09-09 12:08:43.101'); date_part ----------- 101

Contoh dengan TIMESTAMPTZ

Contoh berikut mengembalikan nilai tahun dari nilai timestamptz literal.

select extract(year from timestamptz '1.12.1997 07:37:16.00 PST'); date_part ----------- 1997

Contoh dengan waktu

Berikut contoh tabel TIME_TEST memiliki kolom TIME_VAL (tipe TIME) dengan tiga nilai dimasukkan.

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

Contoh berikut mengekstrak menit dari setiap time_val.

select extract(minute from time_val) as minutes from time_test; minutes ----------- 0 0 58

Contoh berikut mengekstrak jam dari setiap time_val.

select extract(hour from time_val) as hours from time_test; hours ----------- 20 0 0

Contoh berikut mengekstrak milidetik dari nilai literal.

select extract(ms from time '18:25:33.123456'); date_part ----------- 123

Contoh dengan TIMETZ

Contoh tabel berikut TIMETZ_TEST memiliki kolom TIMETZ_VAL (tipe TIMETZ) dengan tiga nilai dimasukkan.

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

Contoh berikut mengekstrak jam dari setiap timetz_val.

select extract(hour from timetz_val) as hours from time_test; hours ----------- 4 0 5

Contoh berikut mengekstrak milidetik dari nilai literal. Literal tidak dikonversi ke UTC sebelum ekstraksi diproses.

select extract(ms from timetz '18:25:33.123456 EST'); date_part ----------- 123

Contoh berikut mengembalikan jam offset zona waktu dari UTC dari nilai timetz literal.

select extract(timezone_hour from timetz '1.12.1997 07:37:16.00 PDT'); date_part ----------- -7