Azure Sql数据仓库上的JSON_VALUE:“ JSON_VALUE”不是公认的内置函数名称

时间:2019-06-07 00:08:40

标签: json azure-sql-data-warehouse

即使兼容性级别为130,JSON_VALUE()也无法在Azure SQL数据仓库上工作。

尽管将compatility_level设置为130,但看来我无法在Azure SQL数据仓库上使用JSON_VALUE。 参考: https://docs.microsoft.com/en-us/sql/t-sql/functions/json-functions-transact-sql?view=sql-server-2017

CREATE TABLE dbo.test (
    doc_name        VARCHAR(255) NOT NULL,
    code            VARCHAR(80) NOT NULL,
    currentState_id INT NULL,
    json_doc        NVARCHAR(MAX)  null ) WITH (
    DISTRIBUTION = HASH ( doc_name ), 
    CLUSTERED INDEX ( doc_name ASC ) );

insert into dbo.test ([doc_name],[code],[currentState_id],[json_doc])  values ('doc1.txt','doc1',1,'{"one":"value1","two":"value2"}');

select JSON_VALUE(json_doc,'$.one') from dbo.test where code = 'doc1';
--  Msg 104162, Level 16, State 1, Line 17 
-- 'JSON_VALUE' is not a recognized built-in function name. SELECT compatibility_level FROM SYS.databases where name = my_DW';
-- returns 130

据我了解,根据文档,如果兼容性级别为130,则JSON_VALUE应该可以在Azure SQL数据仓库上工作。

1 个答案:

答案 0 :(得分:0)

截至2019年5月8日,JSON_VALUE确实可在Azure SQL数据仓库中工作

请参阅主要公告here

我今天在Azure SQL数据仓库中通过查询进行的实时测试结果: My Results