Tập tin json trống python

Mở rộng đối tượng JSON cấp cao nhất thành một tập hợp các cặp khóa/giá trị

 a |   b       |      c
---+-----------+-------------
 1 | {2,"a b"} | [4,"a b c"]
0 →

 key | value
-----+-------
 a   | "foo"
 b   | "bar"

 a |   b       |      c
---+-----------+-------------
 1 | {2,"a b"} | [4,"a b c"]
1 [
   value
-----------
 foo
 bar
2 ] →
 key | value
-----+-------
 a   | foo
 b   | bar
8 [
 key | value
-----+-------
 a   | foo
 b   | bar
9
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4,
 json_object_keys
------------------
 f1
 f2
1
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4 ]

 a |   b       |      c
---+-----------+-------------
 1 | {2,"a b"} | [4,"a b c"]
8 [
   value
-----------
 foo
 bar
5 ] →
 key | value
-----+-------
 a   | foo
 b   | bar
8 [
 key | value
-----+-------
 a   | foo
 b   | bar
9
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4,
 json_object_keys
------------------
 f1
 f2
1
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4 ]

Mở rộng đối tượng JSON cấp cao nhất thành một tập hợp các cặp khóa/giá trị. Các

 json_object_keys
------------------
 f1
 f2
1 được trả về sẽ thuộc loại
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4

 a | b
---+---
 1 | 2
 3 | 4
7 →

 key | value
-----+-------
 a   | foo
 b   | bar

 a | b
---+---
 1 | 2
 3 | 4
8 [
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
2,
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
1
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
2
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3 ] →
   value
-----------
 foo
 bar
2

 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
5 [
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
5,
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
1
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
2
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3 ] →
   value
-----------
 foo
 bar
5

Trích xuất đối tượng con JSON tại đường dẫn đã chỉ định. [Điều này tương đương về mặt chức năng với toán tử

 a |  b
---+-----
 1 | foo
 2 |
2, nhưng viết đường dẫn ra dưới dạng danh sách biến thiên có thể thuận tiện hơn trong một số trường hợp. ]

 a |  b
---+-----
 1 | foo
 2 |
3 →
 a |  b
---+-----
 1 | foo
 2 |
4

 a |  b
---+-----
 1 | foo
 2 |
5 [
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
2,
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
1
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
2
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4

 jsonb_path_query
------------------
 2
 3
 4
2 [
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
5,
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
1
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
2
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4

Trích xuất đối tượng con JSON tại đường dẫn đã chỉ định là

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4. [Đây là chức năng tương đương với toán tử
   value
-----------
 foo
 bar
00. ]

   value
-----------
 foo
 bar
01 →
   value
-----------
 foo
 bar
02

   value
-----------
 foo
 bar
03 [
   value
-----------
 foo
 bar
2 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
0

   value
-----------
 foo
 bar
06 [
   value
-----------
 foo
 bar
5 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
0

Trả về bộ khóa trong đối tượng JSON cấp cao nhất

   value
-----------
 foo
 bar
09 →

 json_object_keys
------------------
 f1
 f2

   value
-----------
 foo
 bar
10 [
   value
-----------
 foo
 bar
11
   value
-----------
 foo
 bar
12,
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
2 ] →
   value
-----------
 foo
 bar
12

   value
-----------
 foo
 bar
16 [
   value
-----------
 foo
 bar
11
   value
-----------
 foo
 bar
12,
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
5 ] →
   value
-----------
 foo
 bar
12

Mở rộng đối tượng JSON cấp cao nhất thành một hàng có kiểu tổng hợp của đối số

   value
-----------
 foo
 bar
11. Đối tượng JSON được quét để tìm các trường có tên khớp với tên cột của loại hàng đầu ra và các giá trị của chúng được chèn vào các cột đó của đầu ra. [Các trường không tương ứng với bất kỳ tên cột đầu ra nào sẽ bị bỏ qua. ] Trong cách sử dụng thông thường, giá trị của
   value
-----------
 foo
 bar
11 chỉ là
   value
-----------
 foo
 bar
24, có nghĩa là bất kỳ cột đầu ra nào không khớp với bất kỳ trường đối tượng nào sẽ được điền bằng giá trị rỗng. Tuy nhiên, nếu
   value
-----------
 foo
 bar
11 không phải là
   value
-----------
 foo
 bar
24 thì các giá trị chứa trong đó sẽ được sử dụng cho các cột không khớp

Để chuyển đổi giá trị JSON thành loại SQL của cột đầu ra, các quy tắc sau được áp dụng theo trình tự

  • Giá trị null JSON được chuyển đổi thành SQL null trong mọi trường hợp

  • Nếu cột đầu ra thuộc loại

       value
    -----------
     foo
     bar
    
    2 hoặc
       value
    -----------
     foo
     bar
    
    5, thì giá trị JSON chỉ được sao chép chính xác

  • Nếu cột đầu ra là một loại [hàng] tổng hợp và giá trị JSON là một đối tượng JSON, thì các trường của đối tượng được chuyển đổi thành các cột của loại hàng đầu ra bằng cách áp dụng đệ quy các quy tắc này

  • Tương tự như vậy, nếu cột đầu ra là một kiểu mảng và giá trị JSON là một mảng JSON, thì các phần tử của mảng JSON được chuyển đổi thành các phần tử của mảng đầu ra bằng ứng dụng đệ quy của các quy tắc này

  • Mặt khác, nếu giá trị JSON là một chuỗi, thì nội dung của chuỗi sẽ được đưa vào hàm chuyển đổi đầu vào cho kiểu dữ liệu của cột

  • Mặt khác, biểu diễn văn bản thông thường của giá trị JSON được cung cấp cho hàm chuyển đổi đầu vào cho kiểu dữ liệu của cột

Mặc dù ví dụ bên dưới sử dụng giá trị JSON không đổi, nhưng cách sử dụng thông thường sẽ là tham chiếu cột

   value
-----------
 foo
 bar
2 hoặc
   value
-----------
 foo
 bar
5 từ một bảng khác trong mệnh đề
   value
-----------
 foo
 bar
31 của truy vấn. Viết
   value
-----------
 foo
 bar
10 trong mệnh đề
   value
-----------
 foo
 bar
31 là một cách thực hành tốt, vì tất cả các cột được trích xuất đều có sẵn để sử dụng mà không cần gọi hàm trùng lặp

   value
-----------
 foo
 bar
34
   value
-----------
 foo
 bar
35

   value
-----------
 foo
 bar
36 →

 a |   b       |      c
---+-----------+-------------
 1 | {2,"a b"} | [4,"a b c"]

   value
-----------
 foo
 bar
37 [
   value
-----------
 foo
 bar
11
   value
-----------
 foo
 bar
12,
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
2 ] →
   value
-----------
 foo
 bar
42

   value
-----------
 foo
 bar
43 [
   value
-----------
 foo
 bar
11
   value
-----------
 foo
 bar
12,
 a | b
---+---
 1 | 2
 3 | 4
9
   value
-----------
 foo
 bar
5 ] →
   value
-----------
 foo
 bar
42

Mở rộng mảng đối tượng JSON cấp cao nhất thành một tập hợp các hàng có kiểu tổng hợp của đối số

   value
-----------
 foo
 bar
11. Mỗi phần tử của mảng JSON được xử lý như mô tả ở trên cho
   value
-----------
 foo
 bar
50

   value
-----------
 foo
 bar
51

   value
-----------
 foo
 bar
52 →

 a | b
---+---
 1 | 2
 3 | 4

   value
-----------
 foo
 bar
53 [
   value
-----------
 foo
 bar
2 ] →
   value
-----------
 foo
 bar
55

   value
-----------
 foo
 bar
56 [
   value
-----------
 foo
 bar
5 ] →
   value
-----------
 foo
 bar
55

Mở rộng đối tượng JSON cấp cao nhất thành một hàng có loại hỗn hợp được xác định bởi mệnh đề

   value
-----------
 foo
 bar
59. [Như với tất cả các hàm trả về
   value
-----------
 foo
 bar
55, truy vấn gọi phải xác định rõ ràng cấu trúc của bản ghi bằng mệnh đề
   value
-----------
 foo
 bar
59. ] Bản ghi đầu ra được điền từ các trường của đối tượng JSON, giống như cách được mô tả ở trên cho
   value
-----------
 foo
 bar
50. Vì không có giá trị bản ghi đầu vào, các cột không khớp luôn chứa đầy giá trị rỗng

   value
-----------
 foo
 bar
63

   value
-----------
 foo
 bar
64 →

 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]

   value
-----------
 foo
 bar
65 [
   value
-----------
 foo
 bar
2 ] →
 key | value
-----+-------
 a   | foo
 b   | bar
8

   value
-----------
 foo
 bar
68 [
   value
-----------
 foo
 bar
5 ] →
 key | value
-----+-------
 a   | foo
 b   | bar
8

Mở rộng mảng đối tượng JSON cấp cao nhất thành một tập hợp các hàng có loại hỗn hợp được xác định bởi mệnh đề

   value
-----------
 foo
 bar
59. [Như với tất cả các hàm trả về
   value
-----------
 foo
 bar
55, truy vấn gọi phải xác định rõ ràng cấu trúc của bản ghi bằng mệnh đề
   value
-----------
 foo
 bar
59. ] Mỗi ​​phần tử của mảng JSON được xử lý như mô tả ở trên cho
   value
-----------
 foo
 bar
50

   value
-----------
 foo
 bar
75 →

 a |  b
---+-----
 1 | foo
 2 |

   value
-----------
 foo
 bar
76 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3,
   value
-----------
 foo
 bar
81
   value
-----------
 foo
 bar
5 [,
   value
-----------
 foo
 bar
83
   value
-----------
 foo
 bar
84 ] ] →
   value
-----------
 foo
 bar
5

Trả về

   value
-----------
 foo
 bar
77 với mục được chỉ định bởi
   value
-----------
 foo
 bar
79 được thay thế bằng
   value
-----------
 foo
 bar
81 hoặc thêm
   value
-----------
 foo
 bar
81 nếu
   value
-----------
 foo
 bar
83 là đúng [là mặc định] và mục được chỉ định bởi
   value
-----------
 foo
 bar
79 không tồn tại. Tất cả các bước trước đó trong đường dẫn phải tồn tại hoặc
   value
-----------
 foo
 bar
77 được trả về không thay đổi. Cũng giống như các toán tử hướng đường dẫn, các số nguyên âm xuất hiện trong
   value
-----------
 foo
 bar
79 được tính từ cuối mảng JSON. Nếu bước đường dẫn cuối cùng là một chỉ mục mảng nằm ngoài phạm vi và
   value
-----------
 foo
 bar
83 là đúng, giá trị mới sẽ được thêm vào đầu mảng nếu chỉ mục là âm hoặc ở cuối mảng nếu nó là dương

   value
-----------
 foo
 bar
95 →
   value
-----------
 foo
 bar
96

   value
-----------
 foo
 bar
97 →
   value
-----------
 foo
 bar
98

   value
-----------
 foo
 bar
99 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3,
   value
-----------
 foo
 bar
81
   value
-----------
 foo
 bar
5 [,
   value
-----------
 foo
 bar
83
   value
-----------
 foo
 bar
84 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
08
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4 ]] ] →
   value
-----------
 foo
 bar
5

Nếu

   value
-----------
 foo
 bar
81 không phải là
   value
-----------
 foo
 bar
24, hành xử giống hệt với
   value
-----------
 foo
 bar
76. Mặt khác, hành xử theo giá trị của
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
08 phải là một trong số
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
15,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
16,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
17 hoặc
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
18. Mặc định là
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
16

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
20 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
21

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
22 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
23

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
24 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 a |    b    |    c    | d |       r
---+---------+---------+---+---------------
 1 | [1,2,3] | {1,2,3} |   | [123,"a b c"]
3,
   value
-----------
 foo
 bar
81
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
31
   value
-----------
 foo
 bar
84 ] ] →
   value
-----------
 foo
 bar
5

Trả về

   value
-----------
 foo
 bar
77 với
   value
-----------
 foo
 bar
81 được chèn vào. Nếu mục được chỉ định bởi
   value
-----------
 foo
 bar
79 là một phần tử mảng, thì
   value
-----------
 foo
 bar
81 sẽ được chèn vào trước mục đó nếu
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
31 là sai [là giá trị mặc định] hoặc sau mục đó nếu
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
31 là đúng. Nếu mục được chỉ định bởi
   value
-----------
 foo
 bar
79 là một trường đối tượng, thì
   value
-----------
 foo
 bar
81 sẽ chỉ được chèn nếu đối tượng chưa chứa khóa đó. Tất cả các bước trước đó trong đường dẫn phải tồn tại hoặc
   value
-----------
 foo
 bar
77 được trả về không thay đổi. Cũng giống như các toán tử hướng đường dẫn, các số nguyên âm xuất hiện trong
   value
-----------
 foo
 bar
79 được tính từ cuối mảng JSON. Nếu bước đường dẫn cuối cùng là một chỉ mục mảng nằm ngoài phạm vi, thì giá trị mới sẽ được thêm vào đầu mảng nếu chỉ mục là âm hoặc ở cuối mảng nếu chỉ mục đó là dương

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
44 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
45

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
46 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
47

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
48 [
   value
-----------
 foo
 bar
2 ] →
   value
-----------
 foo
 bar
2

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
51 [
   value
-----------
 foo
 bar
5 ] →
   value
-----------
 foo
 bar
5

Xóa tất cả các trường đối tượng có giá trị null khỏi giá trị JSON đã cho, theo cách đệ quy. Các giá trị null không phải là trường đối tượng sẽ không bị ảnh hưởng

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
54 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
55

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
56 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
84

Kiểm tra xem đường dẫn JSON có trả về bất kỳ mục nào cho giá trị JSON được chỉ định hay không. Nếu đối số

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61 được chỉ định, nó phải là một đối tượng JSON và các trường của nó cung cấp các giá trị được đặt tên để được thay thế vào biểu thức
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60. Nếu đối số
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63 được chỉ định và là
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
69, hàm sẽ loại bỏ các lỗi tương tự như các toán tử
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
70 và
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
71 thực hiện

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
72 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
73

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
74 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
84

Trả về kết quả kiểm tra vị từ đường dẫn JSON cho giá trị JSON đã chỉ định. Chỉ mục đầu tiên của kết quả được tính đến. Nếu kết quả không phải là Boolean, thì trả về

   value
-----------
 foo
 bar
24. Các đối số tùy chọn
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61 và
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63 hoạt động tương tự như đối với
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
56

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
88 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
73

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
90 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
6

Trả về tất cả các mục JSON do đường dẫn JSON trả về cho giá trị JSON đã chỉ định. Các đối số tùy chọn

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61 và
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63 hoạt động tương tự như đối với
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
56

 key | value
-----+-------
 a   | foo
 b   | bar
03 →

 jsonb_path_query
------------------
 2
 3
 4

 key | value
-----+-------
 a   | foo
 b   | bar
04 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
5

Trả về tất cả các mục JSON do đường dẫn JSON trả về cho giá trị JSON đã chỉ định, dưới dạng một mảng JSON. Các đối số tùy chọn

 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61 và
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63 hoạt động tương tự như đối với
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
56

 key | value
-----+-------
 a   | foo
 b   | bar
17 →
 key | value
-----+-------
 a   | foo
 b   | bar
18

 key | value
-----+-------
 a   | foo
 b   | bar
19 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
5

Trả về mục JSON đầu tiên được trả về bởi đường dẫn JSON cho giá trị JSON được chỉ định. Trả về

   value
-----------
 foo
 bar
24 nếu không có kết quả. Các đối số tùy chọn
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61 và
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63 hoạt động tương tự như đối với
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
56

 key | value
-----+-------
 a   | foo
 b   | bar
33 →
 key | value
-----+-------
 a   | foo
 b   | bar
34

 key | value
-----+-------
 a   | foo
 b   | bar
35 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
84

 key | value
-----+-------
 a   | foo
 b   | bar
45 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
84

 key | value
-----+-------
 a   | foo
 b   | bar
55 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
6

 key | value
-----+-------
 a   | foo
 b   | bar
65 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
5

 key | value
-----+-------
 a   | foo
 b   | bar
75 [
   value
-----------
 foo
 bar
77
   value
-----------
 foo
 bar
5,
   value
-----------
 foo
 bar
79
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
60 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
61
   value
-----------
 foo
 bar
5 [,
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
63
   value
-----------
 foo
 bar
84 ]] ] →
   value
-----------
 foo
 bar
5

Các hàm này hoạt động giống như các đối tác của chúng được mô tả ở trên mà không có hậu tố

 key | value
-----+-------
 a   | foo
 b   | bar
85, ngoại trừ việc các hàm này hỗ trợ so sánh các giá trị ngày/giờ yêu cầu chuyển đổi theo múi giờ. Ví dụ bên dưới yêu cầu diễn giải giá trị chỉ ngày
 key | value
-----+-------
 a   | foo
 b   | bar
86 dưới dạng dấu thời gian có múi giờ, vì vậy kết quả phụ thuộc vào cài đặt hiện tại. Do sự phụ thuộc này, các chức năng này được đánh dấu là ổn định, có nghĩa là các chức năng này không thể được sử dụng trong các chỉ mục. Các bản sao của chúng là bất biến và do đó có thể được sử dụng trong các chỉ mục;

 key | value
-----+-------
 a   | foo
 b   | bar
87 →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
73

 key | value
-----+-------
 a   | foo
 b   | bar
89 [
   value
-----------
 foo
 bar
5 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4

Chuyển đổi giá trị JSON đã cho thành văn bản thụt lề, được in đẹp

 key | value
-----+-------
 a   | foo
 b   | bar
92 →

   value
-----------
 foo
 bar
0

 key | value
-----+-------
 a   | foo
 b   | bar
93 [
   value
-----------
 foo
 bar
2 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4

 key | value
-----+-------
 a   | foo
 b   | bar
96 [
   value
-----------
 foo
 bar
5 ] →
 key | value
-----+-------
 a   | "foo"
 b   | "bar"
4

Trả về loại giá trị JSON cấp cao nhất dưới dạng chuỗi văn bản. Các loại có thể là

 key | value
-----+-------
 a   | foo
 b   | bar
99,
 json_object_keys
------------------
 f1
 f2
00,
 json_object_keys
------------------
 f1
 f2
01,
 json_object_keys
------------------
 f1
 f2
02,
   value
-----------
 foo
 bar
84 và
 json_object_keys
------------------
 f1
 f2
04. [Không nên nhầm lẫn kết quả
 json_object_keys
------------------
 f1
 f2
04 với SQL NULL; xem các ví dụ. ]

Chủ Đề