博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在SQL里如何写条件逻辑?
阅读量:6072 次
发布时间:2019-06-20

本文共 1047 字,大约阅读时间需要 3 分钟。

主要涉及CASE,WHEN之类。。

不同的服务器上实现if...else...是不一样的。

建议用CASE ,WHEN,因为它们是SQL国标呢。

mysql> SELECT     -> SUM(CASE     -> WHEN EXTRACT(YEAR FROM open_date) = 2000 THEN 1    -> ELSE 0    -> END) year_2000,    -> SUM(CASE    -> WHEN EXTRACT(YEAR FROM open_date) = 2001 THEN 1    -> ELSE 0    -> 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    -> WHEN EXISTS(SELECT 1 from account a    -> WHERE a.cust_id = c.cust_id    -> AND a.product_cd = 'CHK') THEN 'Y'    -> ELSE 'N'    -> END has_checking,    -> CASE    -> WHEN EXISTS(SELECT 1 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)    -> WHEN 0 THEN 'None'    -> WHEN 1 THEN '1'    -> WHEN 2 THEN '2'    -> ELSE '3+'    -> END num_accounts    -> FROM customer c;

转载地址:http://jvngx.baihongyu.com/

你可能感兴趣的文章
320. Generalized Abbreviation
查看>>
Eclipse的Debug(一)
查看>>
使用excel 展现数据库内容
查看>>
JS中 this 的四种用法
查看>>
接口测试学习 -01
查看>>
linux的nvme驱动需要关心的统计项
查看>>
{{badmatch, {error, eexist}}
查看>>
vue-music 关于基础组件 (Tab组件)
查看>>
用PL/SQL Developer导出表数据的时候,窗口一闪而过解决办法
查看>>
连接排查过程
查看>>
26.CSS前缀和rem
查看>>
java transient关键字
查看>>
mvc model 传值两种方式区别
查看>>
spring
查看>>
正方教务处抓包分析
查看>>
第一次作业
查看>>
openjudge2985(数字组合)
查看>>
步步为营 .NET 设计模式学习笔记 二十二、Memento(备望录模式)
查看>>
步步为营UML建模系列四、状态图(State)
查看>>
(7)javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框...
查看>>