SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLite JSON_TYPE ()

SQLite json_type() hàm trả về kiểu của phần tử ngoài cùng của JSON đã cho.

Chúng tôi cung cấp JSON làm đối số khi chúng tôi gọi hàm.

Chúng ta có thể tùy chọn chuyển một đường dẫn, cho phép chúng ta lấy kiểu của một phần tử mảng hoặc thành viên đối tượng cụ thể trong JSON.

Cú pháp

Chúng ta có thể sử dụng hàm theo những cách sau:

json_type(X)
json_type(X,P)

Ở đâu X đại diện cho JSON và P là một đối số tùy chọn đại diện cho đường dẫn đến loại.

Hàm trả về một trong các giá trị văn bản SQL sau:null , true , false , integer , real , text , array hoặc object .

Ví dụ

Dưới đây là một ví dụ để chứng minh cách nó hoạt động:

SELECT json_type('{ "name" : "Fluffy", "age" : 10 }');

Kết quả:

đối tượng
object

Ở đây tôi chỉ cung cấp JSON - tôi không cung cấp đường dẫn. Trong trường hợp này, JSON ngoài cùng là một đối tượng.

Đây là một mảng:

SELECT json_type('[ 1, 2, 3 ]');

Kết quả:

array

Chúng tôi thậm chí có thể làm những thứ như thế này:

SELECT json_type(10.45);

Kết quả:

real

Trong trường hợp này, đối số của tôi không thực sự là một đối tượng hoặc mảng JSON mà là json_type() vẫn có thể trả lại loại của nó.

Chỉ định một đường dẫn

Đây là những gì sẽ xảy ra khi chúng tôi chỉ định một đường dẫn:

SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.age');

Kết quả:

integer

Trong trường hợp này, tôi đã chỉ định một đường dẫn là $.age , dẫn đến loại age thành viên được trả lại.

Hãy lấy loại name thành viên:

SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.name');

Kết quả:

text

Hãy làm điều đó trên một mảng:

SELECT json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[0]');

Kết quả:

text

Điều đó có kiểu của phần tử đầu tiên (các mảng SQLite dựa trên 0, vì vậy 0 dành cho phần tử đầu tiên).

Hãy lấy loại của tất cả các phần tử trong mảng:

SELECT 
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[0]') AS "0",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[1]') AS "1",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[2]') AS "2",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[3]') AS "3",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[4]') AS "4",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[5]') AS "5";

Kết quả:

+------+---------+------+------+------+-------+
|  0   |    1    |  2   |  3   |  4   |   5   |
+------+---------+------+------+------+-------+
| text | integer | real | null | true | false |
+------+---------+------+------+------+-------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu dữ liệu trong phương pháp onDestroy của hoạt động

  2. Cách đưa Trường Bộ sưu tập Nước ngoài vào Con trỏ trong Ormlite

  3. Tạo bảng bằng cách sử dụng dấu dữ liệu

  4. SQLiteException:bảng đã tồn tại

  5. Cột đổi tên SQLite