Di MariaDB, JSON_UNQUOTE() adalah fungsi bawaan yang menghapus tanda kutip dari nilai JSON. Dengan kata lain, ini “menghapus tanda kutip” nilai JSON.
Sintaks
Sintaksnya seperti ini:
JSON_UNQUOTE(val) Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT JSON_UNQUOTE('"Eggs"'); Hasil:
+------------------------+
| JSON_UNQUOTE('"Eggs"') |
+------------------------+
| Eggs |
+------------------------+ Karakter Kabur
Jika nilai berisi karakter garis miring terbalik (\ ), biasanya diabaikan. Namun, urutan tertentu yang melibatkan garis miring terbalik dapat memiliki arti khusus, dan dapat memengaruhi hasil JSON_UNQUOTE() .
Ini akan tergantung pada apakah mode SQL disetel ke NO_BACKSLASH_ESCAPES . Ketika mode SQL diatur ke NO_BACKSLASH_ESCAPES , ini menonaktifkan penggunaan karakter garis miring terbalik sebagai karakter pelarian dalam string, membuatnya setara dengan karakter biasa.
Jika tidak, urutan berikut akan berlaku:
| Urutan pelarian | Karakter |
|---|---|
\" | Kutipan ganda (" ) |
\b | garis miring terbalik |
\f | Umpan Formulir |
\n | Baris baru (umpan baris) |
\r | Kereta pulang |
\t | Tab |
\\ | Garis miring terbalik (\ ) |
\uXXXX | UTF-8 byte untuk nilai Unicode XXXX |
Contoh:
SELECT JSON_UNQUOTE('Feeling\tGood'); Hasil:
+-------------------------------+
| JSON_UNQUOTE('Feeling\tGood') |
+-------------------------------+
| Feeling Good |
+-------------------------------+
Di sini, saya menggunakan \t urutan untuk menambahkan karakter tab di dalam string.
Jika saya menyetel mode SQL ke NO_BACKSLASH_ESCAPES , urutan tidak memiliki arti khusus, dan urutan literal disertakan dalam output tanpa interpretasi:
SET @@sql_mode = 'NO_BACKSLASH_ESCAPES';
SELECT JSON_UNQUOTE('Feeling\tGood'); Hasil:
+-------------------------------+
| JSON_UNQUOTE('Feeling\tGood') |
+-------------------------------+
| Feeling\tGood |
+-------------------------------+ Argumen Null
Jika argumennya adalah NULL , hasilnya adalah NULL :
SELECT JSON_UNQUOTE(null); Hasil:
+--------------------+ | JSON_UNQUOTE(null) | +--------------------+ | NULL | +--------------------+
Jumlah Parameter Salah
Memanggil JSON_UNQUOTE() tanpa argumen menghasilkan kesalahan:
SELECT JSON_UNQUOTE(); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_UNQUOTE'
Sama halnya jika Anda memberikan terlalu banyak argumen:
SELECT JSON_UNQUOTE('a', 'b'); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_UNQUOTE'