在SQL里如何写条件逻辑?
主要涉及CASE,WHEN之类。。
不同的服务器上实现if...else...是不一样的。
建议用CASE ,WHEN,因为它们是SQL国标呢。
mysql> SELECT
-> SUM(CASE
-> END) year_2000,
-> SUM(CASE
-> END) year_2001
-> FROM account
-> WHERE open_date > '1999-12-31' AND open_date < '2006-01-01';
mysql> SELECT c.cust_id, c.fed_id, c.cust_type_cd,
-> CASE
from account a
-> WHERE a.cust_id = c.cust_id
-> AND a.product_cd = 'CHK') THEN 'Y'
-> ELSE 'N'
-> END has_checking,
-> CASE
FROM account a
-> WHERE a.cust_id = c.cust_id
-> AND a.product_cd = 'SAV') THEN 'Y'
-> ELSE 'N'
-> END has_savings
-> FROM customer c;
mysql> SELECT c.cust_id, c.fed_id, c.cust_type_cd,
-> CASE (SELECT COUNT(*) FROM account a
-> WHERE a.cust_id = c.cust_id)
THEN 'None'
'
'
-> ELSE '3+'
-> END num_accounts
-> FROM customer c;

在SQL里如何写条件逻辑?的更多相关文章
- 将IP表存入SQL里的程序
将IP表存入SQL里的程序 写得比較粗糙,另一点错误,只是能达到效果.请大家測试 create.asp ---------------------------------------------- ...
- oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
在Oracle中调用Java程序,注意:java方法必须是static类型的,如果想在JAVA中使用system.out/err输出log. 需要在oracle 中执行"call dbms_ ...
- 将数组里的元素拼接成sql里的in条件
/** * 将数组里的元素拼接成sql里的in条件,如'a1','a2','a3' * @param array * @returns */function makeSqlInStr(array){ ...
- 读取数据表中第m条到第n条的数据,SQL语句怎么写?
原文:读取数据表中第m条到第n条的数据,SQL语句怎么写? 对于MySQL或者Oracle来说,如果实现从Table 表中取出第 m 条到第 n 条的记录操作,我们需要TOP函数(不是所有的数据库都支 ...
- CSS规范--春风十里不如写好CSS
先吟几句: 最近看了看春风十里不如你,本来很少看剧的,暑假有点闲就看了,感觉不错,挺喜欢这部剧,就套了个名字,嘿嘿嘿.剧里面印象深刻的是<致橡树>这首诗,念几句: 我如果爱你,绝不像攀援的 ...
- SQL里执行CLR c#代码
这里只说一个重点: 1.直接在sql里执行clr代码的时候,sql还是会报错 说没有启用 clr 执行以下代码才会起作用 EXEC sp_configure 'clr enabled', 1; RE ...
- react 生命周期钩子里不要写逻辑,否则不生效
react 生命周期钩子里不要写逻辑,否则不生效,要把逻辑写在函数里,然后在钩子里调用函数,否则会出现问题.
- dedecms清空所有文章怎么操作?sql语句如何写?
小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ...
- sql里的in对应linq的写法 及 IQueryable转化为Dictionary
string[] arID = { "0001", "0002" }; var dict = this.service.GetMyList(m => ar ...
随机推荐
- 2 GPS utility methods
Methond 1 is to check whether the GPS is on: 1 2 3 4 5 public boolean isGPSIsOn() { LocationManager ...
- HTML之文本框关键字显示
文本框默认显示 "请输入关键字",当鼠标点击输入框的时候, "请输入关键字"这几个字消失,移出文本框又显示出来 <!DOCTYPE html> &l ...
- Java获取新浪微博cookies
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...
- ubuntu 14.04 对exfat的支持
sudo apt-get install exfat-utils exfat-fuse sudo reboot
- Python sorted函数对列表排序
http://jingyan.baidu.com/article/f3ad7d0ffe8e1409c2345b48.html http://www.cnblogs.com/100thMountain/ ...
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回 ...
- iOS UILocalNotification 每2周,每两个月提醒
iOS 的UILocalNotification提醒提供了默认的重复频率,比如,一天,一个星期等等,但是对于非标准的频率,比如每,2周,每2个月,无法重复提醒. 我们的思路是在应用程序开始时,把即将发 ...
- Mybatis中的in查询和foreach标签
Mybatis中的foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separato ...
- Linux中环境变量文件及配置(转载)
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- mybatis 的if else
<update id="update" parameterType="XXX"> update XX set YY ...