SQL для запроса таблицы со знаком доллара - PullRequest
0 голосов
/ 03 мая 2018

Я использую программное обеспечение Looker Dashboarding (см .: looker.com). Он создает временные таблицы в схеме looker_scratch вашей базы данных с длинными именами, каждая из которых содержит символ доллара.

Это просто запросить с помощью «SQL Runner» в самом Looker, который каким-то образом может экранировать символ доллара, но я не могу запросить их с помощью стороннего SQL-клиента.

Я пытаюсь запросить эту таблицу:

SELECT *
FROM looker_scratch.LR$5UA5D3XQDBPAYU0Q9FLFE_test

но получите ошибку:

the # of binded parameters < the # of parameter markers

Как я могу запросить таблицу?

Я пробовал:

  • ...FROM looker_scratch."LR$5UA5D3XQDBPAYU0Q9FLFE_test" - говорит, что связь не существует
  • ...FROM looker_scratch."LR\$5UA5D3XQDBPAYU0Q9FLFE_test" - говорит, что связь не существует
  • ...FROM looker_scratch.$LR\$5UA5D3XQDBPAYU0Q9FLFE_test$ - говорит синтаксическая ошибка
  • ...FROM looker_scratch.$$LR\$5UA5D3XQDBPAYU0Q9FLFE_test$$ - говорит синтаксическая ошибка
  • ...FROM looker_scratch.E'LR\$5UA5D3XQDBPAYU0Q9FLFE_test' - говорит синтаксическая ошибка

1 Ответ

0 голосов
/ 03 мая 2018

попробуйте выбрать точный идентификатор по шаблону:

select oid::regclass from pg_class where relname ilike '%5ua5d%';

например:

so=# create table t."WeirdMix$" ();
CREATE TABLE
Time: 55.750 ms
so=# select oid::regclass from pg_class where relname ilike '%mix%';
      oid
---------------
 t."WeirdMix$"
(1 row)

Time: 90.814 ms
...