sql - NULL 或零金额的合并等价物
问题描述
为 null 或 0amountB
的两个测试用例选择最简单的方法是什么?amountA
DECLARE @amountA float;
DECLARE @amountB float = 3.33;
select coalesce(@amountA, @amountB)
SET @amountA = 0.00;
select coalesce(@amountA, @amountB)
解决方案
对于这种情况,我会使用CASE
:
select case when @amountA is null or @amountA = 0 then @amountB else @amountA end
推荐阅读
- reactjs - 更新 ScheduleComponent 中的字段后,选择处理程序在错误的字段键 (id) 下返回 EndTime 日期
- java - 使用 .next().get 时,Java LinkedList 不会从对象打印变量
- google-apps-script - 使用 CardService 的多选下拉菜单
- perl - Perl:如果找到匹配项,如何插入一行?
- .net - 使用 .NET 控制台应用程序监视剪贴板
- owl - protege 颗粒推断问题
- javascript - javascript中的数组数组到对象数组的数组
- ios - objc 方法在我的 JS 端没有被识别
- linux - AWS EC2 packet_write_wait:连接到 UNKNOWN 端口 65535:管道损坏
- ruby-on-rails - 添加新测试时,以前工作测试的权限被拒绝