做外包的有时候真的很悲哀, sa一句设计变更, 我们的程序就得修改, 有时候修改的很少, 有时候修改的很多, 这次我就遇到了要修改全部程序的情况。言归正传, 在修改的过程中, 出现了这样的一个需求, 判断数据表中的某个字段是否为空,如果为空的话, 就修改表中的另一个字段, 如果大家奇怪为什么我要这样做, 我过后会把详细情况描述一下,但是现在先来温习温习case when的用法吧。
假设我们要根据数据表tempTable中的字段a是否为空来决定是否改变字段b的值,我们可以这样写
select t.a,
case when t.a is null then 'xxxx'
else t.b
end as b
from tempTable t
分享到:
相关推荐
为了了解Sybase数据库在运行过程中对CPU资源的消耗情况,可以使用以下命令: ```sql EXEC sp_sysmon 'internal', 'model'; ``` 其中,`internal`参数用于显示内部引擎的活动情况,`model`参数则列出所有可用的模型...
在Sybase数据库管理系统中,函数是执行特定计算或操作的关键元素,它们对于数据查询和处理至关重要。本资源“sybase函数大全”是一个详尽的参考手册,为Sybase数据库开发人员提供全面的函数使用指南。以下是一些重要...
这意味着在多线程程序中使用临时表可能会导致难以控制的问题。建议在创建临时表时使用 `WITH REPLACE` 选项,这样可以自动删除已存在的临时表,避免重复创建引发的错误。 3. **获取数据的前几条记录**: - 要选取...
select @sql = @sql + ',sum(case Subject when''' + Subject + ''' then Result end)[' + Subject + ']' from (select distinct Subject from CJ) as a select @sql = @sql + ' from CJ group by Name' exec(@sql) ...
在从数据表中提取前几条记录时,可以使用`FETCH FIRST N ROWS ONLY`语句,但需要注意的是,不能直接将第一条记录的字段赋值给变量,如示例所示。解决这个问题的一种方法是使用游标。声明一个游标,设置为只获取第一...
SQL优化包括选择合适的索引,避免全表扫描,减少子查询,合理使用JOIN,避免在WHERE子句中使用表达式或函数等。 5. **C/C++相关问题** 包括括号匹配检查、数字排列、二维矩阵打印、全局数组越界定位、前置和后置...
在触发器中使用`NEW`和`OLD`来引用新旧行的数据: ```sql IF :OLD.column_name != :NEW.column_name THEN -- 执行特定逻辑 END IF; ``` ##### 6.5 系统触发器(DDL) DDL触发器可以在数据定义语言(Data Definition...
在微软SQL Server 2005的精编培训中,首先介绍了数据库和表设计的基本概念,这部分内容对于理解数据库的设计原理至关重要。 ##### 1.1 实体概念与设计 - **实体**:在数据库中,实体指的是现实世界中的对象或概念,...
- `EXCEPT` (Sybase) 或 `MINUS` (Oracle):返回第一个查询结果集中但不在第二个查询结果集中的行。 8. **谓词 IN / NOT IN** - `IN`:指定列值位于给定值列表中。 - `NOT IN`:指定列值不在给定值列表中。 ...
3. **条件判断:** 熟练使用CASE when end else语句。 4. **函数使用:** 熟悉使用Decode函数、日期函数等。 5. **视图管理:** 熟悉创建和修改视图。 6. **索引管理:** 熟练创建和修改索引。 7. **统计分析:** 熟练...
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
- 在循环中使用事务时,需要特别注意如何处理游标,以免造成死锁或其他并发问题。 - 为了更高效地管理事务,可以通过设置事务隔离级别来减少锁的等待时间。 #### 5. 解码函数(DECODE) - **语法**:`DECODE...
在IT领域,特别是数据库管理与查询方面,T-SQL(Transact-SQL)是一种非常重要的语言,被广泛应用于Microsoft SQL Server以及Sybase等系统中。本文将深入解析T-SQL的关键概念与操作命令,帮助读者更好地理解和掌握这...
Directive names are *case sensitive* - foo=bar is different from FOO=bar. ; Directives are variables used to configure PHP or PHP extensions. ; There is no name validation. If ...
sqlmap can also identify Microsoft Access, DB2, Informix and Sybase; * Extensive database management system back-end fingerprint based upon: o Inband DBMS error messages o DBMS banner parsing o ...