Mengembalikan array yang berisi elemen-elemen tertentu berdasarkan ekspresi.
Sintaksis
sequence(mulai, berhenti, [langkah]) Parameter
mulai: Ekspresi yang menunjukkan awal urutan elemen. Urutan mencakup mulai.
mulai dan berhenti mendukung tipe integer: TINYINT, SMALLINT, INT, dan BIGINT. Tipe-tipe ini sesuai dengan tipe yang didukung oleh langkah: TINYINT, SMALLINT, INT, dan BIGINT.
mulai dan berhenti mendukung tipe tanggal dan waktu: DATE, DATETIME, dan TIMESTAMP. Tipe-tipe ini sesuai dengan tipe IntervalDayTime atau IntervalYearMonth yang didukung oleh langkah.
berhenti: Ekspresi yang menunjukkan akhir urutan elemen. Urutan mencakup berhenti.
langkah: Opsional. Ukuran langkah dalam urutan elemen.
Secara default, jika nilai mulai kurang dari atau sama dengan nilai berhenti, nilai langkah adalah 1. Jika nilai mulai lebih besar dari nilai berhenti, nilai langkah adalah -1.
Untuk urutan bertipe waktu, nilai default langkah adalah 1 atau -1 dalam hari. Saat mengonfigurasi langkah, perhatikan hal-hal berikut: Jika nilai mulai lebih besar dari nilai berhenti, atur langkah ke nilai negatif. Jika nilai mulai kurang dari atau sama dengan nilai berhenti, atur langkah ke nilai positif. Jika persyaratan tidak terpenuhi, kesalahan akan dikembalikan.
Nilai pengembalian
Mengembalikan array yang berisi elemen-elemen tertentu berdasarkan ekspresi.
Jika nilai mulai lebih besar dari nilai berhenti dan nilai langkah positif, kesalahan akan dikembalikan. Jika nilai mulai kurang dari atau sama dengan nilai berhenti dan nilai langkah negatif, kesalahan juga akan dikembalikan.
Secara default, fungsi SEQUENCE dapat menghasilkan maksimum 10.000 elemen. Anda dapat mengonfigurasi parameter
odps.sql.max.sequence.lengthuntuk mengubah jumlah maksimum elemen yang dihasilkan.
Contoh
SELECT sequence(1, 5);Hasil berikut dikembalikan:
[1, 2, 3, 4, 5]SELECT sequence(5, 1);Hasil berikut dikembalikan:
[5, 4, 3, 2, 1]SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month);Hasil berikut dikembalikan:
[2018-01-01, 2018-02-01, 2018-03-01]
Fungsi terkait
SEQUENCE adalah fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi-fungsi yang digunakan untuk memproses data dari tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.