sql - 如何在 SQL 中计算列中的逻辑表达式
问题描述
假设我有一个数据库表“ACCOUNTS”,其中只有 3 个字段:
- ACCOUNT_NUMBER (BIGINT)
- 信用(BIGINT)
- 借记卡 (BIGINT)
我只想做一个只显示两列的查询:
- ACCOUNT_NUMBER (BIGINT)
- “BALANCED”(一个布尔值。如果 Credit == Debit 则为 true,否则为 false)
我该如何进行这样的查询?
我尝试使用等号运算符 (=) 但它不接受它
SELECT
ACCOUNT_NUMBER,
CREDIT = DEBIT as "BALANCED"
FROM ACCOUNTS;
解决方案
Oracle 的 SQL 中没有布尔数据类型,因此您必须接受它的字符串(或数字)表示,例如
select account_number,
case when credit = debit then 'true'
else 'false'
end as balanced
from accounts
推荐阅读
- r - 在 R 中交换两位数字的子集数据帧
- angular - Observable 内部的 Angular 单元测试 EventEmitter
- php - 无法在 CDetailView Yii 1.1 中显示图片
- multithreading - 不使用条件变量或睡眠函数的周期性线程唤醒
- javascript - 将 bool 值转换为其字符串表示形式的最短方法(例如 'true')
- php - 将 Z/OS 许可证添加到云上已安装的 ODBC Cli 驱动程序
- c++ - C++ CListCtrl - GetItemData 总是返回 0
- excel - 现有一种免费的方式用 excel 发送电子邮件?
- ionic3 - Ionic 3:按钮不可点击,无法在浏览器上编辑输入
- sql - 我如何将结果显示为 SQL 列中的多个值