繁体   English   中英

DBeaver,如何声明变量并使用它们?

[英]DBeaver, How to declare variables and use them?

我只想知道是否可以在 DBeaver 的 sql 编辑器上声明变量并在查询中使用它们

您必须在 DBeaver -> 窗口 -> 首选项 -> 数据库 -> 编辑器 -> SQL 编辑器 -> SQL 处理的“SQL 处理”设置中启用变量处理。 Parameters上有一个块,您可以更改设置。 请参阅 wiki 上的动态参数绑定部分。

在此处输入图像描述

然后,您应该能够:

@set date = '2019-10-09'

SELECT ${date}::DATE, ${date}::TIMESTAMP WITHOUT TIME ZONE

产生:

| date       | timestamp           |
|------------|---------------------|
| 2019-10-09 | 2019-10-09 00:00:00 |

是的,您可以使用:

一个例子:

SELECT * FROM "SYSIBM".SYSDUMMY1
WHERE IBMREQD = :YOUR_VARIABLE

在 DBeaver SQL 编辑器中,您可以键入以下内容:

-- define variable
@set my_var='hello SQL world'

-- call variable
select :my_var 

您还可以使用${my_var}来引用变量; $my_var但是对我不起作用。 我正在使用 DBeaver v. 21.1。

基于来自@nicoschl 的非常有用的帖子,这里有一些小的改进:

-- using declarations
@set datex_start = cast('2120-01-01' as date) as date_start;
-- datex_start is the var name
-- casting the value in the declaration saves us the work later
-- the var can be given a default fieldname (e.g. "date_start")

-- run as a standalone command since the subsequent SELECT statement doesn't return values when it's all run together

select 
    ${datex_start}
;

这将返回一个字段名为“date_start”的值“2120-01-01”。

更新版本(2022 年 8 月):顶部 Window > 首选项 > 然后看下面的打印

更新截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM