sql JSON_VALUE 查詢和 JSL 中欄位中的空格我正在嘗試查詢 Oracle 表中包含 JSON 字段的表。我在 sql 中使用 JSON_VALUE 函數。一些 JSON 欄位包含空格,因此我在值兩邊加上雙引號,這在 JSL 外部執行查詢時有效,但執行查詢時會拋出錯誤,如下所示在 jsl 中。預先感謝您提供的任何幫助。
傑士林:
dbc = 建立資料庫連線("Driver={InstantClient11_1 中的Oracle};UID=xxxx;DBQ=yyyy;PWD=zzzz;");
user_sql ="選擇 json_value(feature, '$."球尺寸"') 作為 ball_dimension from blah";
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 中欄位中的空格謝謝你,賈莫!