sql JSON_VALUE 查询和 JSL 中字段中的空格我正在尝试查询 Oracle 表中带有 JSON 字段的表。我在 sql 中使用 JSON_VALUE 函数。一些 JSON 字段包含空格,因此我在值周围加上双引号,这在 JSL 之外运行查询时有效,但在 jsl 中运行查询时会引发错误,如下所示。提前感谢您提供的任何帮助。
杰士林:
dbc = 创建数据库连接(“驱动程序={InstantClient11_1中的Oracle};UID=xxxx;DBQ=yyyy;PWD=zzzz;”);
user_sql="从 blah 中选择 json_value(feature,'$."球尺寸"') 作为球尺寸";
user_dt = 执行sql(dbc,user_sql);
自动化和脚本数据访问视窗回复:sql JSON_VALUE 查询和 JSL 中字段中的空格你必须避开这些引号,通常这些方法是有效的(我会使用选项 1)
Names Default To Here(1);
// user_sql ="select json_value(feature, '$."ball dimension"') as ball_dimension from blah";
// Option 1
user_sql1 = "\[select json_value(feature, '$."ball dimension"') as ball_dimension from blah]\";
// Option 2
user_sql2 = "select json_value(feature, '$.\!"ball dimension\!"') as ball_dimension from blah";
// Print demo
Write("\!N" || user_sql1);
Write("\!N" || user_sql2);
https://www.jmp.com/support/help/en/18.0/#page/jmp/jsl-syntax-rules.shtml - 查找双引号

编辑:
只是添加一些额外的解释。如果您想在 JMP 中的字符串中使用双引号,则必须对其进行转义(还有其他字符必须进行转义)。您可以通过将其替换为 \!来转义单个双引号,如果您希望“自动转义”字符串中的所有内容,请将其包装为“\[...]\”,而不仅仅是“...”。
回复:sql JSON_VALUE 查询和 JSL 中字段中的空格谢谢你,贾莫!