博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mariad条件判断函数 (二)
阅读量:6308 次
发布时间:2019-06-22

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

hot3.png

  

4.1 IFNULL 与 NULLIF

1. IFNULL(expr1,expr2): 假如expr1 不为 NULL,则返回expr1; 否则返回expr2。

2. NULLIF(expr1,expr2): 如果 expr1 = expr2,那么返回 NULL,否则返回expr1。

实例:

 [study_db]> SELECT book_author_name,  

    -> IFNULL(book_author_name, '匿名') AS '作者'

    -> FROM new_books

    -> WHERE book_id > 20;

+------------------+----------------+

| book_author_name | 作者           |

+------------------+----------------+

|  司马迁          |  司马迁        |

|  Ken Follett     |  Ken Follett   |

|  马克.李维       |  马克.李维     |

| NULL             | 匿名           |

+------------------+----------------+

4 rows in set (0.01 sec)

 

 

 [study_db]> SELECT NULLIF(1, 2), NULLIF(1, 1);

+--------------+--------------+

| NULLIF(1, 2) | NULLIF(1, 1) |

+--------------+--------------+

|            1 |         NULL |

+--------------+--------------+

1 row in set (0.00 sec)

4.2 IF流程 -- IF(expr1,expr2,expr3)

如果expr1为真, 返回expr2, 否则返回expr3;

实例

MariaDB [study_db]> SELECT IF(1 > 2, 'Y', 'N');

+---------------------+

| IF(1 > 2, 'Y', 'N') |

+---------------------+

| N                   |

+---------------------+

1 row in set (0.00 sec)

4.3 CASE..THEN..END

先看CASE的用法:将case的值(或数据库里的字段)与条件进行匹配判断,如为真则将值置为THEN后面的值,表达式:

1. CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END 

2. CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END

实例

MariaDB [study_db]> SELECT

    ->      CASE

    ->      WHEN book_price < 40 THEN 'A'

    ->      WHEN book_price > 50 AND book_price < 100 THEN 'B'

    ->      WHEN book_price > 100 THEN 'C'

    ->      ELSE 'D'

    ->      END

    ->      AS '价格分类',

    ->      book_price FROM new_books;

 

+--------------+------------+

| 价格分类     | book_price |

+--------------+------------+

| D            |      44.00 |

| D            |      44.44 |

| B            |      79.00 |

| A            |      26.00 |

| A            |      26.00 |

| A            |      26.60 |

| D            |      40.00 |

| A            |      30.00 |

| D            |      44.00 |

| B            |      80.00 |

| C            |     123.00 |

| A            |      30.00 |

| D            |       NULL |

 

 

 

转载于:https://my.oschina.net/u/2971691/blog/829787

你可能感兴趣的文章
LeetCode----67. Add Binary(java)
查看>>
母版页 MasterPage
查看>>
[转] ReactNative Animated动画详解
查看>>
DNS原理及其解析过程
查看>>
记录自写AFNetWorking封装类
查看>>
没想到cnblog也有月经贴,其实C#值不值钱不重要。
查看>>
【转】LUA内存分析
查看>>
springboot使用schedule定时任务
查看>>
[转] Entity Framework Query Samples for PostgreSQL
查看>>
XDUOJ 1115
查看>>
PHP学习(四)---PHP与数据库MySql
查看>>
模版方法模式--实现的capp流程创建与管理
查看>>
软件需求分析的重要性
查看>>
eclipse的scala环境搭建
查看>>
UVA465:Overflow
查看>>
HTML5-placeholder属性
查看>>
Android选择本地图片过大程序停止的经历
查看>>
poj 2187:Beauty Contest(旋转卡壳)
查看>>
《Flask Web开发》里的坑
查看>>
Python-库安装
查看>>