Bagikan melalui


TRY_PARSE (T-SQL)

Berlaku untuk:SQL ServerDatabase Azure SQLInstans Terkelola Azure SQLAzure Synapse AnalyticsTitik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Mengembalikan hasil ekspresi, diterjemahkan ke jenis data yang diminta, atau NULL jika transmisi gagal di SQL Server. Gunakan TRY_PARSE hanya untuk mengonversi dari string ke jenis tanggal/waktu dan angka.

Konvensi sintaks transact-SQL

Sintaks

TRY_PARSE ( string_value AS data_type [ USING culture ] )

Argumen

string_value

nilai nvarchar(4000) yang mewakili nilai yang diformat untuk diurai ke dalam jenis data yang ditentukan.

string_value harus merupakan representasi yang valid dari jenis data yang diminta, atau TRY_PARSE mengembalikan null.

data_type

Literal yang mewakili jenis data yang diminta untuk hasilnya.

budaya

String opsional yang mengidentifikasi budaya tempat string_value diformat.

Jika argumen budaya tidak disediakan, bahasa sesi saat ini digunakan. Bahasa ini diatur baik secara implisit atau eksplisit dengan menggunakan SET LANGUAGE pernyataan. budaya menerima budaya apa pun yang didukung oleh .NET Framework. Ini tidak terbatas pada bahasa yang secara eksplisit didukung oleh SQL Server. Jika argumen budaya tidak valid, PARSE menimbulkan kesalahan.

Tipe pengembalian

Mengembalikan hasil ekspresi, diterjemahkan ke jenis data yang diminta, atau NULL jika transmisi gagal.

Keterangan

Gunakan TRY_PARSE hanya untuk mengonversi dari string ke jenis tanggal/waktu dan angka. Untuk konversi jenis umum, lanjutkan menggunakan CAST atau CONVERT. Perlu diingat bahwa ada overhead performa tertentu dalam mengurai nilai string.

TRY_PARSE bergantung pada keberadaan runtime bahasa umum (CLR) .NET Framework.

Fungsi ini tidak dapat di-remote karena tergantung pada keberadaan CLR. Jarak jauh fungsi yang memerlukan CLR akan menyebabkan kesalahan pada server jarak jauh.

Informasi selengkapnya tentang data_type parameter

Nilai untuk parameter data_type dibatasi untuk jenis yang diperlihatkan dalam tabel berikut, bersama dengan gaya. Informasi gaya disediakan untuk membantu menentukan jenis pola apa yang diizinkan. Untuk informasi selengkapnya tentang gaya, lihat dokumentasi .NET Framework untuk System.Globalization.NumberStylesDateTimeStyles dan pencacahan.

Kategori Jenis Jenis .NET Gaya yang digunakan
Numerik bigint Int64 NumberStyles.Number
Numerik int Int32 NumberStyles.Number
Numerik smallint Int16 NumberStyles.Number
Numerik tinyint Byte NumberStyles.Number
Numerik decimal Decimal NumberStyles.Number
Numerik numerik Decimal NumberStyles.Number
Numerik float Double NumberStyles.Float
Numerik real Single NumberStyles.Float
Numerik smallmoney Decimal NumberStyles.Currency
Numerik uang Decimal NumberStyles.Currency
Tanggal dan Waktu tanggal DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tanggal dan Waktu time TimeSpan DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tanggal dan Waktu datetime DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tanggal dan Waktu smalldatetime DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tanggal dan Waktu datetime2 DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tanggal dan Waktu datetimeoffset DateTimeOffset DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal

Informasi selengkapnya tentang culture parameter

Tabel berikut ini memperlihatkan pemetaan dari bahasa SQL Server ke budaya .NET Framework.

Nama lengkap Alias LCID Budaya tertentu
us_english Inggris 1033 en-US
Deutsch Jerman 1031 de-DE
Français Prancis 1036 fr-FR
日本語 Jepang 1041 ja-JP
Dansk Dansk 1030 da-DK
Español Spanyol 3082 es-ES
Italiano Italia 1040 it-IT
Nederlands Belanda 1043 nl-NL
Norsk Norwegia 2068 nn-NO
Português Portugis 2070 pt-PT
Suomi Suomi 1035 fi-FI
Svenska Swedia 1053 sv-SE
čeština Cheska 1029 Cs-CZ
magyar Hungaria 1038 Hu-HU
polski Polski 1045 Pl-PL
română Rumania 1048 Ro-RO
hrvatski Kroasia 1050 hr-HR
slovenčina Slovak 1051 Sk-SK
slovenski Sloven 1060 Sl-SI
ελληνικά Yunani 1032 El-GR
български Bulgaria 1026 bg-BG
русский Rusia 1049 Ru-RU
Türkçe Turki 1055 Tr-TR
Inggris Inggris Inggris 2057 en-GB
eesti Esti 1061 Et-EE
latviešu Latvi 1062 lv-LV
lietuvių Lituavi 1063 lt-LT
Português (Brasil) Brasil 1046 pt-BR
繁體中文 Mandarin Tradisional 1028 zh-TW
한국어 Korea 1042 Ko-KR
简体中文 Bahasa Tionghoa Sederhana 2052 zh-CN
Arab Arab 1025 ar-SA
ไทย Thailand 1054 Th-TH

Contoh

J. Contoh dasar TRY_PARSE

SELECT TRY_PARSE ('Jabberwokkie' AS DATETIME2 USING 'en-US') AS Result;

Kueri ini mengembalikan hasil dari NULL.

B. Mendeteksi null dengan TRY_PARSE

SELECT
CASE WHEN TRY_PARSE ('Aragorn' AS DECIMAL USING 'sr-Latn-CS') IS NULL
     THEN 'True'
     ELSE 'False'
END AS Result;

Kueri ini mengembalikan hasil dari True.

C. Gunakan IIF dengan pengaturan budaya TRY_PARSE dan implisit

SET LANGUAGE English;

SELECT IIF (TRY_PARSE ('01/01/2011' AS DATETIME2) IS NULL, 'True', 'False') AS Result;

Kueri ini mengembalikan hasil dari False.