Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Mengembalikan nilai yang ditransmisikan ke jenis data yang ditentukan jika pemeran berhasil; jika tidak, mengembalikan null.
Sintaks
TRY_CAST ( expression AS data_type [ ( length ) ] )
Argumen
expression
Menentukan ekspresi valid apa pun yang akan dilemparkan.
data_type
Jenis data yang akan ditransmisikan ekspresinya. Nilai ini menentukan rentang nilai yang dapat diterima.
length
Bilangan bulat opsional yang menentukan panjang jenis data target.
Jenis yang dikembalikan
Mengembalikan nilai yang ditransmisikan ke jenis data yang ditentukan jika pemeran berhasil; jika tidak, mengembalikan null.
Keterangan
TRY_CASTmengambil nilai yang diteruskan ke nilai tersebut dan mencoba mengonversinya ke data_type yang ditentukan. Jika pemeran berhasil, TRY_CAST mengembalikan nilai sebagai data_type yang ditentukan; jika terjadi kesalahan, null dikembalikan. Namun jika Anda meminta konversi yang secara eksplisit tidak diizinkan, maka TRY_CAST gagal dengan kesalahan.
TRY_CAST bukan kata kunci cadangan baru dan tersedia di semua tingkat kompatibilitas.
TRY_CAST memiliki semantik yang sama seperti TRY_CONVERT saat menyambungkan ke server jarak jauh.
TRY_CAST tidak berfungsi untuk ekspresi dalam kasus berikut:
- varchar(max) jika panjangnya lebih dari 8.000
- nvarchar(max) jika panjangnya lebih dari 4.000
Contoh
J. TRY_CAST mengembalikan null
Contoh berikut menunjukkan bahwa TRY_CAST mengembalikan null saat pemeran gagal.
SELECT
CASE WHEN TRY_CAST('test' AS FLOAT) IS NULL
THEN 'Cast failed'
ELSE 'Cast succeeded'
END AS Result;
GO
Berikut set hasilnya.
Result
------------
Cast failed
Contoh berikut menunjukkan bahwa ekspresi harus dalam format yang diharapkan.
SET DATEFORMAT dmy;
SELECT TRY_CAST('12/31/2022' AS DATETIME2) AS Result;
GO
Berikut set hasilnya.
Result
----------------------
NULL
B. TRY_CAST gagal dengan kesalahan
Contoh berikut menunjukkan bahwa TRY_CAST mengembalikan kesalahan ketika cast secara eksplisit tidak diizinkan.
SELECT TRY_CAST(4 AS XML) AS Result;
GO
Hasil dari pernyataan ini adalah kesalahan, karena bilangan bulat tidak dapat ditransmisikan ke dalam jenis data xml .
Explicit conversion from data type int to xml is not allowed.
C. TRY_CAST berhasil
Contoh ini menunjukkan bahwa ekspresi harus dalam format yang diharapkan.
SET DATEFORMAT mdy;
SELECT TRY_CAST('12/31/2022' AS DATETIME2) AS Result;
GO
Berikut set hasilnya.
Result
----------------------------------
2022-12-31 00:00:00.0000000