SQL для запроса таблицы со знаком доллара
Я использую программное обеспечение 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 ответ
Решение
Попробуйте выбрать точный идентификатор по шаблону:
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