Làm sao để truy vấn một trường JSONB trong PostgreSQL?
Làm sao để truy vấn một trường JSONB trong PostgreSQL?
Để truy vấn một trường **JSONB** trong PostgreSQL, bạn có thể sử dụng các toán tử và hàm đặc biệt hỗ trợ kiểu dữ liệu này. Một số phương thức phổ biến giúp truy vấn JSONB như sau:
- **Truy cập phần tử**: Sử dụng toán tử `->` hoặc `->>` để truy cập phần tử bên trong. Toán tử `->` trả về một phần tử dưới dạng JSONB, trong khi `->>` trả về dưới dạng text. Ví dụ:
```sql
SELECT data->'key' FROM my_table WHERE data->'key' = 'value';
SELECT data->>'key' AS key_value FROM my_table;
Toán tử chứa: Sử dụng toán tử @>
để kiểm tra xem một JSONB chứa một JSON con cụ thể. Ví dụ:
SELECT * FROM my_table WHERE data @> '{"key": "value"}';
Truy vấn với điều kiện: Để lọc các trường hợp cụ thể trong JSONB, có thể sử dụng kết hợp với cú pháp JSON Path...
middle