以此为例:
SELECT json_object(
'a' value 'blah',
'b' value 'blah',
'c' value 'blah'
FORMAT JSON)
FROM dual
输出为:
{"a":"blah","b":"blah","c":blah}
最后一句废话没有用引号引起来.
这是个漏洞,还是我漏掉了什么?
我正在使用:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.17.0.0.0
EDIT:个
让这件事更神秘的是:
SELECT json_object(
'a' value 1,
'b' value 2,
'c' value 'blah'
FORMAT JSON)
FROM dual
给了我:
{"a":1,"b":2,"c":blah}
但是:
SELECT json_object(
'a' value 1,
'b' value 2,
'c' value 3
FORMAT JSON)
FROM dual
给了我:
Error starting at line : 1 in command -
SELECT json_object(
'a' value 1,
'b' value 2,
'c' value 3
FORMAT JSON)
FROM dual
Error at Command Line : 4 Column : 15
Error report -
SQL Error: ORA-00932: inconsistent datatypes: expected CHAR got NUMBER
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action: