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”.

Fungsi TRY_CAST

Mode fokus
Fungsi TRY_CAST - 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.

Dibandingkan dengan fungsi CAST, TRY_CAST pertama kali mencoba untuk mentransmisikan ekspresi ke tipe yang ditentukan. Jika casting gagal karena kesalahan konversi, operasi mengembalikan null. Jika konversi tidak diizinkan secara eksplisit, operasi mengembalikan kesalahan. Anda dapat menemukan daftar kemungkinan konversi dalam catatan penggunaan di bawah ini. Misalnya, mencoba mengonversi boolean ke stempel waktu tidak diizinkan.

Sintaksis

TRY_CAST(expression AS type)

Argumen

ekspresi

Ekspresi yang mengevaluasi satu atau lebih nilai, seperti nama kolom atau literal. Mengkonversi nilai null mengembalikan nol. Ekspresi tidak dapat berisi string kosong atau kosong.

jenis

Salah satu tipe data yang didukung. Untuk daftar lengkap tipe data, lihatJenis data. Untuk daftar pasangan tipe data sumber dan tipe data target yang didukung, lihat catatan penggunaan di bawah ini.

Jenis pengembalian

TRY_CAST mengembalikan nilai tipe data yang ditentukan oleh argumen tipe. Jika konversi gagal, operasi mengembalikan null.

Catatan penggunaan

Berikut ini adalah daftar tipe data sumber dan pasangan tipe data target yang didukung Amazon Redshift untuk TRY_CAST.

BOOL

KECIL, INT, BIGINT, SUPER

KECIL

BOOL, INT, BIGINT, DESIMAL, NYATA, MENGAMBANG, BPCHAR, TEKS, VARCHAR, SUPER

INT

BOOL, SMALLINT, BIGINT, DESIMAL, NYATA, FLOAT, BPCHAR, TEKS, VARCHAR, SUPER

BIGINT

BOOL, SMALLINT, INT, DESIMAL, NYATA, FLOAT, BPCHAR, TEKS, VARCHAR, SUPER

DESIMAL

SMALLINT, INT, BIGINT, NYATA, MENGAMBANG, BPCHAR, TEKS, VARCHAR, SUPER

NYATA

SMALLINT, INT, BIGINT, DESIMAL, FLOAT, BPCHAR, TEKS, VARCHAR, SUPER

MENGAPUNG

SMALLINT, INT, BIGINT, DESIMAL, NYATA, BPCHAR, TEKS, VARCHAR, SUPER

BPCHAR

SMALLINT, INT, BIGINT, DESIMAL, NYATA, MENGAMBANG, TEKS, VARCHAR, STEMPEL WAKTU, TIMESTAMPTZ, TANGGAL, WAKTU, TIMETZ, SUPER

TEKS

SMALLINT, INT, BIGINT, DESIMAL, NYATA, MENGAMBANG, BPCHAR, VARCHAR, STEMPEL WAKTU, TIMESTAMPTZ, TANGGAL, WAKTU, TIMETZ, SUPER

VARCHAR

SMALLINT, INT, BIGINT, DESIMAL, NYATA, FLOAT, BPCHAR, TEKS, STEMPEL WAKTU, TIMESTAMPTZ, TANGGAL, WAKTU, TIMETZ, SUPER

STEMPEL WAKTU

BPCHAR, TEKS, VARCHAR, TIMESTAMPTZ, TANGGAL, WAKTU

TIMESTAMPTZ

BPCHAR, TEKS, VARCHAR, STEMPEL WAKTU, TANGGAL, WAKTU, TIMETZ

TANGGAL

BPCHAR, TEKS, VARCHAR, STEMPEL WAKTU, TIMESTAMPTZ

WAKTU

BPCHAR, TEKS, VARCHAR

JADWAL

BPCHAR, TEKS, VARCHAR

SUPER

SUPER dapat dikonversi menjadi tipe data lain, dengan pengecualian DATE, TIME, TIMETZ, TIMESTAMP, dan TIMESTAMPTZ.

Contoh

Contoh berikut melemparkan STRING ke INTEGER.

SELECT TRY_CAST('123' AS INT); int ---- 123

Contoh berikut mengembalikan null. Mengonversi STRING ke INTEGER diizinkan sehingga TRY_CAST tidak mengembalikan kesalahan, tetapi 'foo' bukan bilangan bulat sehingga fungsi mengembalikan null.

SELECT TRY_CAST('foo' AS INT)

Contoh berikut mengembalikan kesalahan, karena mengonversi BOOLEAN ke TIMESTAMP tidak diizinkan.

SELECT TRY_CAST(true as timestamp);

Karena TRY_CAST mengembalikan null alih-alih segera mengembalikan kesalahan jika konversi gagal, Anda dapat menggunakan TRY_CAST untuk memfilter data yang tidak valid. Perhatikan contoh berikut, di mana baris yang tidak valid disaring karena kegagalan konversi di kolom usia untuk Akua Mansa.

CREATE TABLE IF NOT EXISTS student_data( name VARCHAR(100) NOT NULL, age VARCHAR(3) NOT NULL, enrollment_date DATE NOT NULL); INSERT INTO student_data (name, age, enrollment_date) VALUES ('Alejandro Rosalez', '10', '01/01/2000'), ('Akua Mansa', 'Ten', '01/01/2000'); SELECT * FROM student_data WHERE TRY_CAST(age AS INT) IS NOT NULL; --Akua is not returned. name | age | enrollment_date -------------------+-----+----------------- Alejandro Rosalez | 10 | 01/01/2000

Di halaman ini

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