Lấy phần tử đầu tiên của mảng json php

Truyền từ

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
8,
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
9,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
0,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
1,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
2,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
3,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
4 hoặc
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
5 được hỗ trợ. Truyền từ
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
6,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
7 hoặc
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
8 được hỗ trợ khi loại phần tử của mảng là một trong các loại được hỗ trợ hoặc khi loại khóa của bản đồ là
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
5 và loại giá trị của bản đồ là một trong các loại được hỗ trợ hoặc khi mọi trường . Hành vi của các diễn viên được hiển thị với các ví dụ bên dưới

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
2

Ghi chú

Truyền từ NULL sang

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
30 không đơn giản. Truyền từ một
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
31 độc lập sẽ tạo ra một SQL
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
31 thay vì
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
33. Tuy nhiên, khi truyền từ các mảng hoặc bản đồ có chứa các
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
31, thì
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
30 được sản xuất sẽ có các
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
36 trong đó

Ghi chú

Khi chuyển từ

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
8 sang
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
30, kết quả là một mảng JSON chứ không phải đối tượng JSON. Điều này là do các vị trí quan trọng hơn tên của các hàng trong SQL

Truyền từ JSON#

Truyền tới

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
8,
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
9,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
0,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
1,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
2,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
3,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
4 hoặc
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
5 được hỗ trợ. Truyền tới
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
6 và
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
7 được hỗ trợ khi loại phần tử của mảng là một trong các loại được hỗ trợ hoặc khi loại khóa của bản đồ là
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
5 và loại giá trị của bản đồ là một trong các loại được hỗ trợ. Hành vi của các diễn viên được hiển thị với các ví dụ bên dưới

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}

Ghi chú

Mảng JSON có thể có các loại phần tử hỗn hợp và bản đồ JSON có thể có các loại giá trị hỗn hợp. Điều này khiến không thể chuyển chúng thành các mảng và bản đồ SQL trong một số trường hợp. Để giải quyết vấn đề này, Presto hỗ trợ truyền một phần mảng và bản đồ

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']

Ghi chú

Khi truyền từ

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
30 đến
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
8, cả mảng JSON và đối tượng JSON đều được hỗ trợ

Hàm JSON#

is_json_scalar[json] boolean#

Xác định xem

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
72 có phải là một số vô hướng [i. e. một số JSON, một chuỗi JSON,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
73,
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
74 hoặc
SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
36]

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
3

json_array_contains[json , giá trị] boolean#

Xác định xem

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
76 có tồn tại trong
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
72 không [một chuỗi chứa một mảng JSON]

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
4

json_array_get[json_array , index] json#

Cảnh báo

Ngữ nghĩa của chức năng này bị hỏng. Nếu phần tử được trích xuất là một chuỗi, nó sẽ được chuyển đổi thành một giá trị

SELECT CAST[JSON 'null' AS VARCHAR]; -- NULL
SELECT CAST[JSON '1' AS INTEGER]; -- 1
SELECT CAST[JSON '9223372036854775807' AS BIGINT]; -- 9223372036854775807
SELECT CAST[JSON '"abc"' AS VARCHAR]; -- abc
SELECT CAST[JSON 'true' AS BOOLEAN]; -- true
SELECT CAST[JSON '1.234' AS DOUBLE]; -- 1.234
SELECT CAST[JSON '[1,23,456]' AS ARRAY[INTEGER]]; -- [1, 23, 456]
SELECT CAST[JSON '[1,null,456]' AS ARRAY[INTEGER]]; -- [1, NULL, 456]
SELECT CAST[JSON '[[1,23],[456]]' AS ARRAY[ARRAY[INTEGER]]]; -- [[1, 23], [456]]
SELECT CAST[JSON '{"k1":1,"k2":23,"k3":456}' AS MAP[VARCHAR, INTEGER]]; -- {k1=1, k2=23, k3=456}
SELECT CAST[JSON '{"v1":123,"v2":"abc","v3":true}' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {v1=123, v2=abc, v3=true}
SELECT CAST[JSON '[123,"abc",true]' AS ROW[v1 BIGINT, v2 VARCHAR, v3 BOOLEAN]]; -- {value1=123, value2=abc, value3=true}
30 không hợp lệ không được trích dẫn chính xác [giá trị sẽ không được bao quanh bởi dấu ngoặc kép và mọi dấu ngoặc kép bên trong sẽ không được thoát]

Chúng tôi khuyên bạn không nên sử dụng chức năng này. Nó không thể được sửa chữa mà không ảnh hưởng đến các tập quán hiện có và có thể bị xóa trong bản phát hành trong tương lai

Trả về phần tử tại chỉ mục đã chỉ định vào

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
79. Chỉ số này dựa trên số không

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
7

Hàm này cũng hỗ trợ các chỉ mục phủ định để tìm nạp phần tử được lập chỉ mục từ cuối một mảng

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
8

Nếu phần tử tại chỉ mục đã chỉ định không tồn tại, hàm sẽ trả về null

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
9

json_array_length[json] bigint#

Trả về độ dài của mảng là

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
72 [một chuỗi chứa một mảng JSON]

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
1

json_extract[json , json_path] json#

Đánh giá biểu thức giống như JSONPath

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
81 trên
SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
72 [một chuỗi chứa JSON] và trả về kết quả dưới dạng một chuỗi JSON

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
4

json_extract_scalar[json , json_path] varchar#

Giống như

SELECT CAST[JSON '[[1, 23], 456]' AS ARRAY[JSON]]; -- [JSON '[1,23]', JSON '456']
SELECT CAST[JSON '{"k1": [1, 23], "k2": 456}' AS MAP[VARCHAR, JSON]]; -- {k1 = JSON '[1,23]', k2 = JSON '456'}
SELECT CAST[JSON '[null]' AS ARRAY[JSON]]; -- [JSON 'null']
83, nhưng trả về kích thước của giá trị. Đối với các đối tượng hoặc mảng, kích thước là số thành viên và kích thước của giá trị vô hướng bằng không

Làm cách nào để lấy phần tử đầu tiên của mảng JSON?

Tạo bất kỳ mảng Đối tượng nào [ req ], sau đó chỉ cần thực hiện Object. keys[req][0] để chọn khóa đầu tiên trong mảng Đối tượng.

Làm cách nào để lấy dữ liệu đầu tiên từ JSON trong PHP?

Đọc JSON từ tệp hoặc chuỗi trong PHP . Khi dữ liệu ở dạng chuỗi, bạn có thể gọi hàm json_decode[] để trích xuất thông tin từ chuỗi. get the data from the file into a variable by using file_get_contents[] . Once the data is in a string, you can call the json_decode[] function to extract information from the string.

Làm cách nào để lấy phần tử đầu tiên trong mảng trong PHP?

Có một số phương pháp để lấy phần tử đầu tiên của một mảng trong PHP. Một số phương thức là sử dụng vòng lặp foreach, hàm đặt lại, hàm array_slice, array_values, array_reverse , v.v.

Làm cách nào để lấy giá trị khóa đầu tiên trong JSON?

for[var firstKey trong dữ liệu]; . Do đó data[firstKey] trả về giá trị đầu tiên từ một đối tượng mảng

Chủ Đề