JSL의 필드에 있는 SQL JSON_VALUE 쿼리 및 공백JSON 필드가 있는 Oracle 테이블의 테이블을 쿼리하려고 합니다. SQL에서 JSON_VALUE 함수를 사용하고 있습니다. 일부 JSON 필드에는 공백이 포함되어 있으므로 값 주위에 큰따옴표를 넣었습니다. 이는 JSL 외부에서 쿼리를 실행할 때 작동하지만 jsl에서 아래 표시된 대로 쿼리를 실행하면 오류가 발생합니다. 당신이 제공할 수 있는 모든 도움에 미리 감사드립니다.
JSL:
dbc = 데이터베이스 연결 생성("드라이버={InstantClient11_1의 Oracle};UID=xxxx;DBQ=yyyy;PWD=zzzz;");
user_sql ="json_value(feature, '$."ball 차원"')을 ball_dimension으로 선택";
user_dt = sql(dbc, user_sql) 실행;
자동화 및 스크립팅데이터 접근윈도우Re: JSL의 필드에 있는 SQL JSON_VALUE 쿼리 및 공백해당 따옴표를 이스케이프 처리해야 하며 일반적으로 이러한 방법이 작동합니다(저는 옵션 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에서 문자열에 큰따옴표를 사용하려면 이를 이스케이프해야 합니다(이스케이프해야 하는 다른 문자도 있습니다). 작은따옴표를 \!"로 바꾸어 이스케이프할 수 있으며, 문자열의 모든 내용을 "자동 이스케이프"하려면 "..." 대신 "\[...]\"로 감싸십시오.
Re: JSL의 필드에 있는 SQL JSON_VALUE 쿼리 및 공백고마워요, 자르모!