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

Thủ tục được lưu trữ để phân tích cú pháp một chuỗi

Một giải pháp khả thi là sử dụng XML

DECLARE @text VARCHAR(1000) 
        ,@xml xml

SELECT @text = 'City=Hyderabad | Mobile=48629387429 | Role=User | Name =Praveen'

SELECT @text = REPLACE(@text,'|','"')
    ,@text = REPLACE(@text,'=','="')
    ,@text = '<row ' + @text + '"/>'

SELECT @xml = CAST(@text AS XML)

select 
    line.col.value('@Name[1]', 'varchar(100)') AS Name
    ,line.col.value('@City[1]', 'varchar(100)') AS City
    ,line.col.value('@Mobile[1]', 'varchar(100)') AS Mobile 
    ,line.col.value('@Role[1]', 'varchar(100)') AS Role 
FROM @xml.nodes('/row') AS line(col)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép nhiều bản ghi với mối quan hệ chi tiết chính

  2. SQL bỏ qua một phần của WHERE nếu tham số là null

  3. Lỗi kết nối SQL gián đoạn lạ, các bản sửa lỗi khi khởi động lại, quay lại sau 3-5 ngày (ASP.NET)

  4. Hệ điều hành SQL Server lỗi 5:5 (Quyền truy cập bị từ chối.)

  5. Có cách nào để chỉ định nhiều Lược đồ SQL Server 2008 cho lệnh 'createChangeLog' của Liquibase không?