2012-06-12 59 views
11

Tôi có một cơ sở dữ liệu trong SQL Server 2008 và một bảng cụ thể có thông tin được lưu trữ trong các trường dưới dạng các mảng được mã hóa JSON. Tôi tự hỏi có một phương pháp dựa trên SQL để chọn ra các giá trị cụ thể trong trường JSON đó?Bạn có thể sử dụng SQL để chọn các giá trị từ một mảng JSON không?

Tôi có thể, tất nhiên, chỉ cần chọn trường và phân tích thông tin của chính tôi, nhưng tôi đang cố gắng tránh điều đó nếu có thể.

Cảm ơn trước!

Trả lời

5

Không có gì là tự nhiên, nhưng câu trả lời đầu tiên về vấn đề tiếp theo tham chiếu một bài viết về phân tích đối tượng JSON trong TSQL

Parse JSON in TSQL

Để tham khảo, bài viết yêu thích là ở đây:

http://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/

+0

Wow, anh chàng đã viết bài viết đó xứng đáng với sự tôn trọng của chúng tôi! @ tbone14, đây có thể là giải pháp của bạn, nếu bạn có thể thêm các hàm do người dùng định nghĩa vào cơ sở dữ liệu. – bfavaretto

+0

@bfavaretto: Thứ tốt của nó không phải là nó. Ngay cả gbn cũng thích nó! –

+1

Có [hỗ trợ gốc] (https://msdn.microsoft.com/en-us/library/dn921900.aspx) bắt đầu từ SQL Server 2016. – GSerg

2

Không (tốt, có kết hợp chuỗi con, nhưng điều đó sẽ chậm và dễ xảy ra lỗi). Nếu bạn đang lưu trữ thứ gì đó mà bạn muốn lọc bằng SQL, không sử dụng JSON, thay vào đó hãy sử dụng các cột/bảng riêng biệt.

+0

Tôi không có quyền kiểm soát cấu trúc cơ sở dữ liệu hoặc cách lưu trữ thông tin. Tôi chỉ là người tích hợp -_- – tbone14

Các vấn đề liên quan