准备Demo表 ```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 方法 ```sql postgres=# \set my_var tab1 postgres=# \echo :my_var tab1 postgres=# select * from :my_var; a | b ----+------------------ 93 | xyz (1 row) ``` 注: - 变量值可以使用引号括起来。 # 二、\gset 方法 该命令在PG12版本新增。 例如: ```sql postgres=# select b as my_var from tab1 \gset postgres=# \echo :my_var xyz ``` 以下示例,将时间戳赋值给变量my_var: ```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方法可以将查询结果赋值给变量