Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

NVL2 fungsi

Mode fokus
NVL2 fungsi - Amazon Redshift

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

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

Mengembalikan salah satu dari dua nilai berdasarkan apakah ekspresi tertentu mengevaluasi ke NULL atau TIDAK NULL.

Sintaksis

NVL2 ( expression, not_null_return_value, null_return_value )

Argumen

ekspresi

Ekspresi, seperti nama kolom, yang akan dievaluasi untuk status null.

not_null_return_value

Nilai yang dikembalikan jika ekspresi mengevaluasi ke NOT NULL. Nilai not_null_return_value harus memiliki tipe data yang sama dengan ekspresi atau secara implisit dapat dikonversi ke tipe data tersebut.

null_return_value

Nilai yang dikembalikan jika ekspresi mengevaluasi ke NULL. Nilai null_return_value harus memiliki tipe data yang sama dengan ekspresi atau secara implisit dapat dikonversi ke tipe data tersebut.

Jenis pengembalian

Jenis NVL2 pengembalian ditentukan sebagai berikut:

  • Jika not_null_return_value atau null_return_value adalah null, tipe data dari ekspresi not-null dikembalikan.

Jika kedua not_null_return_value dan null_return_value tidak null:

  • Jika not_null_return_value dan null_return_value memiliki tipe data yang sama, tipe data tersebut dikembalikan.

  • Jika not_null_return_value dan null_return_value memiliki tipe data numerik yang berbeda, tipe data numerik terkecil yang kompatibel dikembalikan.

  • Jika not_null_return_value dan null_return_value memiliki tipe data datetime yang berbeda, tipe data stempel waktu dikembalikan.

  • Jika not_null_return_value dan null_return_value memiliki tipe data karakter yang berbeda, tipe data not_null_return_value dikembalikan.

  • Jika not_null_return_value dan null_return_value memiliki tipe data numerik dan non-numerik campuran, tipe data not_null_return_value dikembalikan.

penting

Dalam dua kasus terakhir di mana tipe data not_null_return_value dikembalikan, null_return_value secara implisit dilemparkan ke tipe data tersebut. Jika tipe data tidak kompatibel, fungsi gagal.

Catatan penggunaan

Fungsi DECODEdapat digunakan dengan cara yang mirip NVL2 ketika ekspresi dan parameter pencarian keduanya nol. Perbedaannya adalah bahwa untuk DECODE, pengembalian akan memiliki nilai dan tipe data dari parameter hasil. Sebaliknya, untuk NVL2, pengembalian akan memiliki nilai parameter not_null_return_value atau null_return_value, mana yang dipilih oleh fungsi, tetapi akan memiliki tipe data not_null_return_value.

Misalnya, dengan asumsi kolom1 adalah NULL, kueri berikut akan mengembalikan nilai yang sama. Namun, tipe data nilai pengembalian DECODE adalah INTEGER dan tipe data nilai yang NVL2 dikembalikan adalah VARCHAR.

select decode(column1, null, 1234, '2345'); select nvl2(column1, '2345', 1234);

Contoh

Contoh berikut memodifikasi beberapa data sampel, kemudian mengevaluasi dua bidang untuk memberikan informasi kontak yang sesuai bagi pengguna:

update users set email = null where firstname = 'Aphrodite' and lastname = 'Acevedo'; select (firstname + ' ' + lastname) as name, nvl2(email, email, phone) AS contact_info from users where state = 'WA' and lastname like 'A%' order by lastname, firstname; name contact_info --------------------+------------------------------------------- Aphrodite Acevedo (906) 632-4407 Caldwell Acevedo Nunc.sollicitudin@Duisac.ca Quinn Adams vel@adipiscingligulaAenean.com Kamal Aguilar quis@vulputaterisusa.com Samson Alexander hendrerit.neque@indolorFusce.ca Hall Alford ac.mattis@vitaediamProin.edu Lane Allen et.netus@risusDonec.org Xander Allison ac.facilisis.facilisis@Infaucibus.com Amaya Alvarado dui.nec.tempus@eudui.edu Vera Alvarez at.arcu.Vestibulum@pellentesque.edu Yetta Anthony enim.sit@risus.org Violet Arnold ad.litora@at.com August Ashley consectetuer.euismod@Phasellus.com Karyn Austin ipsum.primis.in@Maurisblanditenim.org Lucas Ayers at@elitpretiumet.com

Topik berikutnya:

NULLIF

Topik sebelumnya:

NVL dan COALESCE

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.