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

SQL để phân tích cú pháp chuỗi khóa-giá trị

Nếu bạn có thể đưa dữ liệu của mình vào định dạng một cặp khóa / giá trị trên mỗi hàng, thì phần lớn công việc đã hoàn thành. Để tôi gọi kết quả đó là t . Một cái gì đó như thế này có thể giúp bạn hoàn thành chặng đường còn lại:

select max(case when LEFT(data, 4) = 'key1' then SUBSTRING(data, 6, len(data)) end) as key1,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key2,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key3
from t
group by (id - 1)/3

Điều này giả định rằng id được chỉ định tuần tự, như được hiển thị trong ví dụ của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Con trỏ máy chủ SQL - lặp qua nhiều máy chủ và thực thi truy vấn

  2. Tôi cần tính toán các giá trị cho một bản ghi trong cơ sở dữ liệu dựa trên các giá trị khác trong các bản ghi khác

  3. Cách tạo một thủ tục được lưu trữ trong SQL Server

  4. Cách tìm bảng phụ thuộc vòng tròn trong máy chủ sql

  5. Nhập hàng loạt SQL từ CSV