Conversion

TRY_CAST

DuckDBDuckDB

Safe version dari CAST. Return NULL jika konversi gagal, bukan error. Sangat berguna untuk data cleaning.

Tipe hasil: Tipe target atau NULLDiperbarui: 6 Jan 2026

Syntax

SQL
TRY_CAST(value AS type)

Parameter

valueANYwajib

Nilai yang akan dikonversi

typeTYPEwajib

Tipe data target

Contoh Penggunaan

Safe String to Integer

SQL
1SELECT
2 TRY_CAST('123' AS INTEGER) AS valid,
3 TRY_CAST('abc' AS INTEGER) AS invalid;

Invalid conversion return NULL, bukan error.

Hasil
123 | NULL

Data Cleaning

SQL
1SELECT
2 raw_value,
3 TRY_CAST(raw_value AS DOUBLE) AS clean_value
4FROM raw_data
5WHERE TRY_CAST(raw_value AS DOUBLE) IS NOT NULL;

Filter hanya nilai yang bisa dikonversi.

Dengan Default Value

SQL
1SELECT
2 COALESCE(TRY_CAST(input AS INTEGER), 0) AS safe_int
3FROM user_input;

Default 0 jika konversi gagal.

Validate Data Types

SQL
1SELECT
2 COUNT(*) AS total_rows,
3 COUNT(TRY_CAST(date_field AS DATE)) AS valid_dates,
4 COUNT(*) - COUNT(TRY_CAST(date_field AS DATE)) AS invalid_dates
5FROM imported_data;

Menghitung valid vs invalid dates.

Fungsi Equivalen di Database Lain

Fungsi Terkait