Fungsi TRY_CAST digunakan untuk mengonversi data bertipe TEXT ke tipe data lain. Jika data tidak dapat dikonversi ke tipe data yang diinginkan, fungsi TRY_CAST mengembalikan NULL tanpa menampilkan pesan kesalahan.
Selain fungsi TRY_CAST, Hologres mendukung fungsi konversi tipe data lainnya. Untuk informasi lebih lanjut, lihat Fungsi tanggal dan waktu.
Batasan
Fungsi TRY_CAST hanya didukung di Hologres V2.2 dan versi yang lebih baru.
TRY_CAST
Sintaksis
TRY_CAST( <source_string_expr> AS <target_data_type> )Tabel berikut menjelaskan parameter dalam sintaksis sebelumnya.
Parameter
Tipe data
Deskripsi
source_string_expr
TEXT
Kolom yang ingin Anda konversi tipenya.
target_data_type
INTEGER, SMALLINT, dan BIGINT
REAL dan DOUBLE PRECISION
BOOLEAN
DECIMAL
JSONB
DATE
TIMESTAMP
TIMESTAMPTZ
CatatanHanya Hologres V3.0 dan versi yang lebih baru yang mendukung tipe data DATE, TIMESTAMP, dan TIMESTAMPTZ.
Tipe data ke mana Anda ingin mengonversi data.
CatatanJika nilai dalam kolom yang ditentukan tidak dapat dikonversi ke tipe data yang ditentukan, maka akan dikembalikan NULL.
Contoh
Buat tabel bernama
try_cast_testdan tulis data uji ke tabel tersebut.-- Buat tabel bernama try_cast_test. CREATE TABLE IF NOT EXISTS try_cast_test ( key int, value text ); -- Tulis data uji ke tabel. INSERT INTO try_cast_test VALUES (1, '1'), (2, 'abc');Gunakan fungsi
TRY_CASTuntuk mengonversi data bertipe TEXT menjadi tipe INT.-- Konversi data bertipe TEXT di kolom value menjadi tipe INT dan tampilkan data yang telah dikonversi di kolom value_int. SELECT key, value, TRY_CAST (value AS INT) as value_int FROM try_cast_test;Hasil berikut dikembalikan. Data abc di kolom
valuetidak dapat dikonversi menjadi tipe INT. FungsiTRY_CASTmengembalikan NULL.key | value | value_int -----+-------+----------- 1|1 | 1 2|abc |\N (2 baris)