如何在pgAdmin3 1.8.4中的一次性查询中使用变量?

时间:2016-10-10 15:48:27

标签: postgresql pgadmin

重要:我受限于pgAdmin 1.8.4。它已经很老了(2008年)。使用较新的版本会导致许多错误,因为我正在交谈的数据库是旧的而不是更新的。其他团队成员使用此版本的pgAdmin。 "PostgreSQL 8.3.6 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)"

假设我想为8个不同的表运行此查询:

SELECT to_char(rowlastupdated, 'YYYY-MM'), count(rowlastupdated)
FROM abc.foo
WHERE
  (
    rowlastupdated::TIMESTAMP >= '2012-01-01 00:00:00' :: TIMESTAMP
  AND (rowlastupdated::TIMESTAMP <= '2015-12-31 23:59:59' :: TIMESTAMP)
   )
group by  to_char(rowlastupdated, 'YYYY-MM')
  ;

... repeat 7 times 

我不想在每次想要更改开始日期('2012-01-01 00:00:00')时查找/替换,而是希望将其变为变量。在SQL Server中,我将该日期设置为DECLARE @startDate varchar(30); SET @startDate = '2012-01-01 00:00:00'并在我的查询中使用该变量(可能有一些CAST)。

我无法弄清楚如何在pgAdmin中执行此操作。 PG docs说我能做到:

url varchar := 'http://example.com';

但该行只是在pgAdmin查询中出错:

ERROR:  syntax error at or near "url"
LINE 1: url varchar := 'http://example.com';

如何在一个地方声明一个字符串,然后在pgAdmin的许多查询中使用它?我不想创建一个函数,因为这些查询是一次性使用,有效而且我不想用我忘记删除的函数来混淆数据库。

0 个答案:

没有答案