3

我正在使用 Looker Dashboard 软件(请参阅:looker.com)。它在数据库模式中创建具有长名称的临时表looker_scratch,每个表都包含一个美元符号。

这些可以直接使用 Looker 本身中的“SQL Runner”进行查询,它能够以某种方式转义美元符号,但我无法使用第 3 方 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'- 说语法错误
4

1 回答 1

4

尝试按模式选择确切的标识符:

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
于 2018-05-03T19:51:55.157 回答