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'