【发布时间】:2020-08-31 19:08:36
【问题描述】:
.json 是 Azure 流分析的输入。其中一列 (body) 采用 BASE64 格式。我可以通过以下查询在 SQL Server Management Studio 中隐藏这一点。
declare @v varchar(1000) = 'cm9sZToxIHByb2R1Y2VyOjEyIHRpbWVzdGFtcDoxNDY4NjQwMjIyNTcxMDAwIGxhdGxuZ3tsYXRpdHVkZV9lNzo0MTY5ODkzOTQgbG9uZ2l0dWRlX2U3Oi03Mzg5NjYyMTB9IHJhZGl1czoxOTc2NA=='
SELECT
CAST(
CAST('' AS XML).value('xs:base64Binary(sql:column("BASE64_COLUMN"))', 'VARBINARY(MAX)')
AS VARCHAR(MAX)
) AS Result
FROM
(
SELECT @v AS BASE64_COLUMN
) A
但是当尝试在流分析查询中执行时,会出现错误提示:
Function 'value' is either not supported or not usable in this context. User defined function calls must start with "udf."
查询:
SELECT
CAST(
CAST('' AS XML).value('xs:base64Binary(sql:column("BASE64_COLUMN"))', 'VARBINARY(MAX)')
AS VARCHAR(MAX)
) AS Result
INTO
[IOTPowerBIStreaming]
FROM
(
SELECT body AS BASE64_COLUMN FROM [IOTInput]
) A
【问题讨论】:
-
嗨,我的回答对你有帮助吗?
标签: sql azure azure-stream-analytics