SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

SQLite JSON_QUOTE()

Dalam SQLite, json_quote() fungsi mengubah angka atau string menjadi representasi JSON yang sesuai.

Kami memberikan nomor atau string sebagai argumen saat kami memanggil fungsi, dan fungsi mengembalikan representasi JSON dari nilai itu.

Sintaks

Sintaksnya seperti ini:

json_quote(X)

Dimana X adalah angka atau string.

Contoh

Inilah yang terjadi ketika kita meneruskan string ke fungsi:

SELECT json_quote('Super');

Hasil:

"Super"

Dan ini nomornya:

SELECT json_quote(10.45);

Hasil:

10.45

Berikut adalah string yang terlihat seperti array:

SELECT json_quote('[10.45]');

Hasil:

"[10.45]"

Berikut adalah string yang terlihat seperti objek:

SELECT json_quote('{ "score" : 10.45 }');

Hasil:

"{ \"score\" : 10.45 }"

Tetapi jika kita meneruskan argumen di json() fungsi, kita mendapatkan ini:

SELECT json_quote(json('{ "score" : 10.45 }'));

Hasil:

{"score":10.45}

Nilai Null

Melewati null mengembalikan null :

SELECT json_quote( null );

Hasil:

null

Ini sebenarnya adalah nilai teks SQL null . Kami dapat memverifikasi ini dengan meneruskannya ke json_type() fungsi:

SELECT json_type(json_quote( null ));

Hasil:

null

json_type() function mengembalikan tipe nilai teks SQL dari argumennya. Dalam hal ini mengembalikan null , yang menunjukkan bahwa json_quote() fungsi mengembalikan null ketika kami melewati null untuk itu.

Jika kami menduga bahwa SQLite CLI kami mengembalikan null karena nilai null yang sebenarnya dikembalikan, kita dapat melakukan hal berikut untuk mengesampingkannya:

.nullvalue N/A

Itu memberitahu antarmuka baris perintah kita untuk mengembalikan N/A setiap kali nilai nol dikembalikan.

Setelah menjalankan perintah di atas, mari kita jalankan kembali pernyataan sebelumnya, serta operasi yang benar-benar menghasilkan nilai null:

SELECT 
    json_quote( null ) AS json_quote,
    json_type(json_quote( null )) AS json_type,
    1 / 0 AS actual_null;

Hasil:

+------------+-----------+-------------+
| json_quote | json_type | actual_null |
+------------+-----------+-------------+
| null       | null      | N/A         |
+------------+-----------+-------------+

Dalam SQLite, membagi angka dengan nol menghasilkan nilai nol (banyak DBMS lain membuat kesalahan dalam kasus seperti itu). Dalam contoh ini, saya telah menetapkan nilai nol untuk mengembalikan N/A , sehingga kita dapat melihat bahwa ada perbedaan antara output dari dua fungsi dan nilai null yang sebenarnya. Artinya, satu-satunya nilai null pada output di atas ada di kolom terakhir.

Setelah mengatakan semua itu, nilai null masih dapat menghasilkan nilai teks SQL null dikembalikan saat memanggil json_quote() . Mungkin sebuah contoh menggambarkan hal ini lebih baik daripada yang bisa saya jelaskan:

SELECT 
    json_quote( 1 / 0 ),
    json_type(json_quote( 1 / 0 )),
    json_type( 1 / 0 ),
    1 / 0;

Hasil:

+---------------------+--------------------------------+--------------------+-------+
| json_quote( 1 / 0 ) | json_type(json_quote( 1 / 0 )) | json_type( 1 / 0 ) | 1 / 0 |
+---------------------+--------------------------------+--------------------+-------+
| null                | null                           | N/A                | N/A   |
+---------------------+--------------------------------+--------------------+-------+

Kita dapat melihat bahwa dua kolom pertama mengembalikan null Nilai teks SQL, dan dua kolom lainnya mengembalikan nilai nol yang sebenarnya.

Meneruskan Boolean

Berikut adalah contoh melewatkan boolean seperti true dan false :

SELECT 
    json_quote( true ) AS true,
    json_quote( false ) AS false;

Hasil:

+------+-------+
| true | false |
+------+-------+
| 1    | 0     |
+------+-------+

Jumlah Argumen Tidak Valid

Memanggil fungsi tanpa meneruskan argumen menghasilkan kesalahan:

SELECT json_quote();

Hasil:

Parse error: wrong number of arguments to function json_quote()
  SELECT json_quote();
         ^--- error here

Dan meneruskan terlalu banyak argumen juga menghasilkan kesalahan:

SELECT json_quote( 1, 2 );

Hasil:

Parse error: wrong number of arguments to function json_quote()
  SELECT json_quote( 1, 2 );
         ^--- error here

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan jumlah baris kosong tertentu di sqlite?

  2. Apakah titik koma diperlukan dalam SQL?

  3. Pastikan Kursor diinisialisasi dengan benar sebelum mengakses data darinya

  4. Android - Pendekatan Lebih Baik dalam Memuat Gambar KARTU SD

  5. Netralisasi yang Tidak Tepat dari Elemen Khusus yang digunakan dalam Perintah SQL