在 SQL Server 操作 XML
宣告 XML 資料
1 | DECLARE @x XML; |
value 擷取純量值
1 | SELECT @x.value('(/Root/row/@id)[1]', 'int'); |
query 擷取物件或陣列
1 | SELECT @x.query('/Root/row'); |
modify 變更 JSON 字串中的值
1 | SET @x.modify(' |
XML 轉換為資料列
⭐ nodes
直接解析 XML 格式資料
1 | SELECT T.C.query('.') |
⭐ OPENXML
解析 XML 字串資料,需預先定義對應格式
1 | DECLARE @idoc INT, @doc VARCHAR(1000); |
Base64 轉換(UTF-16)
字串轉 Base64
1 | SELECT CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))', 'VARCHAR(MAX)') |
Base64 轉字串
1 | SELECT CAST(CAST(N'' AS XML).value('xs:base64Binary("LG5mig==")', 'VARBINARY(MAX)') AS NVARCHAR(MAX)) |
📜 參考資料