你好,
我在使用 JMP 查詢生成器查詢 PostgreSQL 數據庫時遇到問題...
事實上,一些 PostgreSQL 函數似乎在查詢構建器中無法正常工作......
例如,如果我想從其中一個字符的位置檢索字符串的一部分:
這個命令可以用 PostgreSQL 寫成:
選擇子串('托馬斯'從位置('H'在'托馬斯')為了2)作為錯誤測試
但是,如果我使用 SQL 公式編輯器將其寫入 JMP 查詢生成器的“添加計算列”中:
substring('Thomas' from position('h' in 'Thomas') for 2)我收到此錯誤:

而如果我在 SQL Custom 中手動編寫相同的命令,則可以很好地執行它:

在那種情況下,它像其他 SQL 命令一樣被翻譯成 jsl ...

我不明白的是,有時我可以在查詢構建器的“計算列”中使用純 PostgreSQL 語法編寫複雜的公式,並且一切正常! 喜歡:

此計算列工作正常並且不返回任何錯誤消息。 然而,它是一個特定的 postgresql 代碼......
這是某些 PostgreSQL 函數的已知錯誤嗎? 如何解決它?
感謝您的幫助!
法蘭克
你好布萊恩
感謝您的回答
對我來說奇怪的是,例如“lpad”或“to char”函數是 PostgreSQL 的特定語法,而不是一些通用 SQL 或 Oracle SQL,......並且工作得很好:
t2.lot_id || '-' || lpad(to_char(t2.wafer_nr, 'FM999'), 2, '0')
添加計算列有一些擴展列表,它將支持數據庫特定的 SQL,但 postgresql 不是其中之一。默認情況下,您可能會在公式編輯器左上角的下拉列表中獲取通用 SQL。有一些擴展支持 Oracle、MySQL、SQL Server、SAS 等。
我們需要為 JMP 的未來版本考慮一個特定於 postgresql 的擴展集。
布賴恩·科科倫
JMP開發