PARSE (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Mengembalikan hasil ekspresi, diterjemahkan ke jenis data yang diminta dalam SQL Server.
Sintaks
PARSE ( string_value AS data_type [ USING culture ] )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
string_value
nilai nvarchar(4000) yang mewakili nilai yang diformat untuk diurai ke dalam jenis data yang ditentukan.
string_value harus merupakan representasi valid dari jenis data yang diminta, atau PARSE menimbulkan kesalahan.
data_type
Nilai harfiah yang mewakili jenis data yang diminta untuk hasilnya.
budaya
String opsional yang mengidentifikasi budaya tempat string_value diformat.
Jika argumen budaya tidak disediakan, maka bahasa sesi saat ini digunakan. Bahasa ini diatur baik secara implisit, atau eksplisit dengan menggunakan pernyataan SET LANGUAGE. budaya menerima budaya apa pun yang didukung oleh .NET Framework; tidak terbatas pada bahasa yang secara eksplisit didukung oleh SQL Server. Jika argumen budaya tidak valid, PARSE akan menimbulkan kesalahan.
Jenis Pengembalian
Mengembalikan hasil ekspresi, yang diterjemahkan ke jenis data yang diminta.
Keterangan
Nilai null yang diteruskan sebagai argumen ke PARSE diperlakukan dengan dua cara:
Jika konstanta null diteruskan, kesalahan akan muncul. Nilai null tidak dapat diurai ke dalam jenis data yang berbeda dengan cara yang sadar budaya.
Jika parameter dengan nilai null diteruskan pada durasi, maka null dikembalikan, untuk menghindari pembatalan seluruh batch.
Gunakan PARSE hanya untuk mengonversi dari jenis string ke tanggal/waktu dan angka. Untuk konversi jenis umum, terus gunakan CAST atau CONVERT. Perlu diingat bahwa ada overhead performa tertentu dalam mengurai nilai string.
PARSE mengandalkan kehadiran .NET Framework Common Language Runtime (CLR).
Fungsi ini tidak akan di-remote karena tergantung pada keberadaan CLR. Remoting fungsi yang memerlukan CLR akan menyebabkan kesalahan pada server jarak jauh.
Informasi selengkapnya tentang parameter data_type
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 enumerasi System.Globalization.NumberStyles dan DateTimeStyles.
| Kategori | Jenis | Jenis .NET Framework | 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 | numeric | Desimal | NumberStyles.Number |
| Numerik | float | Ganda | NumberStyles.Float |
| Numerik | nyata | Tunggal | NumberStyles.Float |
| Numerik | smallmoney | Desimal | NumberStyles.Currency |
| Numerik | money | Desimal | NumberStyles.Currency |
| Tanggal dan Waktu | tanggal | DateTime | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Tanggal dan Waktu | waktu | TimeSpan | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Tanggal dan Waktu | tanggalwaktu | 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 | tanggalwaktulewat | DateTimeOffset | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Informasi selengkapnya tentang parameter budaya
Tabel berikut ini memperlihatkan pemetaan dari bahasa SQL Server ke budaya .NET Framework.
| Nama lengkap | Alias | LCID | Budaya tertentu |
|---|---|---|---|
| us_english | Inggris | 1033 | id-ID |
| 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
A. PARSE ke dalam datetime2
SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;
Berikut adalah tataan hasil.
Result
---------------
2010-12-13 00:00:00.0000000
(1 row(s) affected)
B. PARSE dengan simbol mata uang
SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;
Berikut adalah hasil yang ditetapkan.
Result
---------------
345.98
(1 row(s) affected)
C. PARSE dengan pengaturan bahasa implisit
-- The English language is mapped to en-US specific culture
SET LANGUAGE 'English';
SELECT PARSE('12/16/2010' AS datetime2) AS Result;
Berikut adalah hasil yang ditetapkan.
Result
---------------
2010-12-16 00:00:00.0000000
(1 row(s) affected)
