select
case when sum(case when c.ccus_code = :ccusCode then 1 else 0 end) > 0 then 1
when sum(case when c.ccus_Name = :ccusName then 1 else 0 end) > 0 then 2
else 0 end rowCount
from cod_customer c
where c.CCUS_DEL_FLAG = 'N'
<<and c.ccus_Id <> :ccusId>>
and c.ccus_Org_Id = :ccusOrgId
and (c.ccus_Name = :ccusName
or c.ccus_code = :ccusCode)
--------------------------------------
public CodCustomerModel save(CodCustomerModel model) {
final double checkResult = uniqueCheck(model);
if(checkResult == 0){
return this.dao.save(model);
}else if(checkResult == 1){
throw new ApplicationException("助记码重复");
}else if(checkResult == 2){
throw new ApplicationException("名称重复");
}else{
throw new ApplicationException("助记码或名称重复");
}
}
-----------------------------------------
private double uniqueCheck(CodCustomerModel model){
CodCustomerUniqueCheckQueryCondition con = new CodCustomerUniqueCheckQueryCondition();
con.setCcusId(model.getCcusId());
con.setCcusOrgId(model.getCcusOrgId());
con.setCcusCode(model.getCcusCode());
con.setCcusName(model.getCcusName());
List<CodCustomerUniqueCheckQueryItem> data = this.dao.query(con, CodCustomerUniqueCheckQueryItem.class);
if(data.size() == 0){
return 0;
}
return data.get(0).getRowcount();
}
分享到:
相关推荐
### SQL数据库转Access SQL语句改写:Case When Then When Then Else End #### 知识点一:SQL CASE WHEN THEN 结构与Access IIF及SWITCH函数对比 在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何...
一条sql语句就能让你case when then怎么用,什么时候用
SUM(CASE WHEN condition THEN value ELSE 0 END) AS total FROM table; ``` 其中: - `condition` 是一个布尔表达式,如果为真,则执行 `THEN` 子句。 - `value` 是当 `WHEN` 条件为真时返回的值,通常是一个...
在SQL查询中,`SUM(CASE WHEN THEN)` 是一种非常有用的聚合函数,它允许我们根据特定条件对数据进行分类并求和。在这个场景中,它被用来计算一个类比班级中男生和女生的数量。让我们详细了解一下这个技术及其应用。 ...
SUM(CASE WHEN download_type_id = 13 THEN 1 ELSE 0 END) AS count_13, SUM(CASE WHEN download_type_id = 14 THEN 1 ELSE 0 END) AS count_14, SUM(CASE WHEN download_type_id = 15 THEN 1 ELSE 0 END) AS ...
Oracle CASE WHEN 多条件语句详解 CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: `...
在SQL中,`CASE WHEN THEN` 语句用于条件判断,它可以用来转换或过滤数据,尤其是在聚合函数中,如 `COUNT()`, `SUM()`, `AVG()` 等。这个表达式允许我们在一个查询中根据不同的条件执行不同的操作。 在标题提到的...
sql 存储过程 常见的问题 自己用也可分享
该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...
在SQL语言中,`CASE WHEN THEN ELSE END`结构是一种强大的条件判断工具,它允许你在查询中根据特定条件执行不同的逻辑。这个结构可以在`SELECT`、`WHERE`、`HAVING`、`UPDATE`和`INSERT`等语句中使用,以实现复杂的...
WHERE salary > (CASE WHEN AVG(salary) IS NOT NULL THEN AVG(salary) ELSE 0 END); ``` 在这个例子中,`CASE WHEN`语句检查平均薪资是否为`NULL`,如果不是,则使用平均薪资作为比较值;如果是`NULL`,则使用0。 ...
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...
在描述中提到的方法,通过使用`CASE WHEN THEN ELSE END`语句,我们可以实现更简洁且高效的统计查询。 `CASE`表达式在SQL中是一个非常强大的工具,它允许我们在查询中进行条件判断。在Oracle中,`CASE`语句的基本...
### Oracle CASE WHEN 用法详解 #### 一、概述 在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`...
#### MySQL 函数与 Case When Then 的应用 在数据库管理与查询过程中,MySQL 提供了丰富的内置函数以及灵活的控制结构,能够帮助开发者更高效地处理数据。本文将围绕 MySQL 中的一些常见函数,特别是 `CASE WHEN ...
在数据库管理和SQL编程中,`DECODE`函数和`CASE WHEN`语句是两种非常重要的逻辑判断工具,它们常用于处理条件分支和数据转换。在这篇文章中,我们将深入探讨这两种方法的用途、区别以及如何巧妙地运用它们。 首先,...
SQL__case_when_then_的用法
在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...