FAIRYFAR-INTERNAL
 
  FAIRYFAR-INTERNAL  |  SITEMAP  |  ABOUT-ME  |  HOME  
您的足迹: psql自定义变量
psql自定义变量

准备Demo表

snippet.sql
postgres=# CREATE TABLE tab1 (a INT, b CHAR(16));
postgres=# INSERT INTO tab1 VALUES(93, 'xyz');
postgres=# SELECT * FROM tab1;
 a  |        b         
----+------------------
 93 | xyz             
(1 ROW)

一、\set 方法

snippet.sql
postgres=# \SET my_var tab1
postgres=# \echo :my_var
tab1
postgres=# SELECT * FROM :my_var;
 a  |        b         
----+------------------
 93 | xyz             
(1 ROW)

注:

  • 变量值可以使用引号括起来。

二、\gset 方法

该命令在PG12版本新增。

例如:

snippet.sql
postgres=# SELECT b AS my_var FROM tab1 \gset
postgres=# \echo :my_var
xyz

以下示例,将时间戳赋值给变量my_var:

snippet.sql
postgres=# SELECT CAST(EXTRACT(epoch FROM now()) AS BIGINT) AS my_var \gset
postgres=# \echo :my_var
1609133432
postgres=# \echo VIEW:my_var
view1609133432

注:

  • \gset方法可以将查询结果赋值给变量


打赏作者以资鼓励:
移动端扫码阅读: