Salut,
J'ai un problème avec les requêtes sur une base de données PostgreSQL utilisant le générateur de requêtes JMP...
En effet, certaines fonctions PostgreSQL ne semblent pas fonctionner correctement dans le générateur de requêtes...
Par exemple, si je veux récupérer une partie d'une chaîne de caractères à partir de la position d'un de ses caractères :
Cette commande pourrait être écrite en PostgreSQL :
SÉLECTIONNER sous-chaîne ('Thomas' depuis position ('h' dans 'Thomas') pour 2) COMME bug_test
Mais si je l'écris dans « ajouter une colonne calculée » dans le générateur de requêtes JMP avec l'éditeur de formules SQL :
substring('Thomas' from position('h' in 'Thomas') for 2)
J'obtiens cette erreur :

alors que cette même commande s'exécute correctement si je l'écris manuellement dans SQL Custom :

Et dans ce cas, elle est traduite en JSL comme toute autre commande SQL...

Ce que je ne comprends pas, c'est que je peux parfois écrire des formules complexes dans les « colonnes calculées » du générateur de requêtes, en syntaxe PostgreSQL pure, et tout fonctionne parfaitement ! Par exemple :

Cette colonne calculée fonctionne correctement et ne renvoie aucun message d'erreur. Il s'agit toutefois d'un code spécifique à PostgreSQL...
S'agit-il d'un bug connu de certaines fonctions PostgreSQL ? Comment le contourner ?
Merci pour votre aide!
Franck
Bonjour Brian
Merci pour votre réponse
Ce qui est étrange pour moi, c'est que par exemple les fonctions "lpad" ou "to char" sont une syntaxe spécifique de PostgreSQL, pas du SQL générique ou du SQL Oracle,... et fonctionnent très bien :
t2.lot_id || '-' || lpad(to_char(t2.wafer_nr, 'FM999'), 2, '0')
Ajouter une colonne calculée a une liste de certaines extensions qu'il prendra en charge pour le SQL spécifique à la base de données, mais postgresql n'en fait pas partie.Par défaut, vous obtenez probablement SQL générique dans la liste déroulante en haut à gauche de l'éditeur de formule.Certaines extensions sont prises en charge pour Oracle, MySQL, SQL Server, SAS, etc.
Nous devrons envisager un ensemble d'extensions spécifiques à postgresql pour une future version de JMP.
Brian Corcoran
Développement JMP