requête SQL JSON_VALUE et espaces dans les champs en JSLJ'essaie d'interroger une table dans une table Oracle avec un champ JSON. J'utilise la fonction JSON_VALUE dans le SQL. Certains champs JSON contiennent des espaces, j'ai donc mis des guillemets doubles autour des valeurs et cela fonctionne lors de l'exécution de la requête en dehors de JSL mais génère une erreur lors de l'exécution de la requête comme indiqué ci-dessous dans jsl. Merci d'avance pour toute aide que vous pouvez fournir.
JSL :
dbc = créer une connexion à la base de données("Driver={Oracle dans InstantClient11_1};UID=xxxx;DBQ=yyyy;PWD=zzzz;");
user_sql ="select json_value(feature, '$."ball dimension"') as ball_dimension from blah";
user_dt = exécuter sql(dbc, user_sql);
Automatisation et scriptsAccès aux donnéesles fenêtresRe: Requête SQL JSON_VALUE et espaces dans les champs en JSLVous devez échapper à ces guillemets et généralement ces méthodes fonctionnent (j'utiliserais l'option 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 - Recherchez les guillemets doubles

Modifier:
Juste pour ajouter quelques explications supplémentaires. Si vous souhaitez avoir des guillemets doubles dans votre chaîne dans JMP, vous devez les échapper (il y a aussi d'autres caractères qui doivent être échappés). Vous pouvez échapper aux guillemets simples en les remplaçant par \!" et si vous souhaitez "échapper automatiquement" tout ce qui se trouve dans votre chaîne, enveloppez-le avec "\[...]\" au lieu de simplement "...".
Re: Requête SQL JSON_VALUE et espaces dans les champs en JSLMerci Jarmo!