与 MS SQL Server 不同,PostgreSQL 不支持使用 DECLARE 语句声明变量。要在 PostgreSQL 查询中使用变量,可以使用 WITH 子句作为替代方法。
语法:
<code class="language-sql">WITH 变量名 AS ( SELECT 表达式 AS 名称 ) SELECT * FROM 表名 WHERE 列名 = 变量名</code>
示例:
考虑以下 MS SQL Server 查询:
<code class="language-sql">DECLARE @myvar INT; SET @myvar = 5; SELECT * FROM somewhere WHERE something = @myvar;</code>
要使用 WITH 子句在 PostgreSQL 中实现相同的功能:
<code class="language-sql">WITH myvar AS ( SELECT 5 AS var ) SELECT * FROM somewhere WHERE something = myvar;</code>
注意:
虽然 WITH 子句提供了一种在 PostgreSQL 查询中声明变量的方法,但它通常不被认为是最优雅或最高效的方法。对于可能需要多个变量的复杂查询,它可能会导致代码混乱且可读性降低。在这种情况下,最好创建临时表或使用存储过程来封装与变量相关的逻辑。
以上是如何在 PostgreSQL 查询中声明变量?的详细内容。更多信息请关注PHP中文网其他相关文章!