DBeaver的虚拟列如何使用

介绍DBeaver中虚拟列和虚拟外键的功能与应用场景,包括运维数据翻译、指标计算及ER图展示。

前言

DBeaver 是一个免费开源的通用数据库工具,其中22版本的推出了一个虚拟列、虚拟唯一键、虚拟外键、虚拟引用。真是一大神器,本篇就是简单唠叨一下”虚拟列“,”虚拟外键“的简单使用。

使用场景

虚拟列(virtual column )

虚拟列可以使用表达式在数据查看器中看到结果值,不能用于sql查询,因为它不在数据库中。
表达式目前使用的是 jexl3引擎进行解析,所以我们可以尽情的写表达式去处理我们的列转为需要输出的列。
可以用在运维场景:数据项翻译(1男2女;0未审核1一审2二审3退回4通过…),同一张表提供数据列的指标计算(销售价格÷利润=市盈率)

虚拟外键(virtual foreign key)

虚拟外键的使用我觉得就是为 ER 图查看器准备的,当定义完虚拟外键后,就可以看到 ER 图查看器中关联其他表的 ER 图,基于已经存在的数据库,想整理一个 ER 图,那可比 PDMan 方便多了

DBeaver的虚拟主键和虚拟外键这些都是为了丰富自身产品的功能引入的,都是在功能上使用的(ER图、表格展示数据、构造SQL脚本…),与数据库无关。举个例子:如查询一个无主键的表后在展示的数据列表修改一条数据,原本该软件构造的SQL根据表没有主键所以where语句后需要跟上全部的字段,在设置虚拟主键后where条件就只有虚拟主键的那个字段作为条件。

虚拟列可用方法概览

jexl操作符

一种是默认的 jexl3 操作符号,其使用方式可以直接是 操作符, 也可以使用对应的方法进行调用。

操作符 描述
布尔值and 可以使用常用的&&运算符以及单词and,例如 cond1 and cond2cond1 && cond2是等价的。注意这个运算符不能重载
布尔值or 可以使用常用的||运算符以及单词or,例如 cond1 or cond2cond1 || cond2是等价的。注意这个运算符不能重载
布尔值not 可以使用常用的!运算符以及单词not,例如 !cond1not cond1是等价的。注意这个运算符不能重载
按位and &使用 通常的运算符,例如33 & 40010 0001 & 0000 0100 = 0。
按位or |使用 通常的运算符,例如33 | 40010 0001 | 0000 0100 = 0010 0101 = 37。
按位xor ^使用 通常的运算符,33 ^ 4例如 0010 0001 ^ 0000 0100 = 0010 0100 = 37。
按位complement ~使用 通常的运算符,例如~33
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值