网站首页 > 数据库 / 正文
场景
我们经常在数据存储如性别、类型此类的字段,一般使用tinyint来处理,那么展示的时候就需要用相应的文字值去展示,可以通过程序或者sql直接处理。对于一些类型字段如果数据库没有给默认值,那可能存入的是null,而有些却有值,那这种又该如何处理。
语法
if(expr,v1,v2) 如果expr为真则返回v1,否则返回v2
isnull(expr) 判断expr是否为null
ifnull(v1,v2) 如果v1存在则返回v1,否则返回v2
使用
--展示对应性别 if
select id,nickname,if(gender=1, '男', '女') as gender from user where id = 1565543;
+---------+-----------+--------+
| id | nickname | gender |
+---------+-----------+--------+
| 1565543 | 马小桶 | 男 |
+---------+-----------+--------+
1 row in set (0.00 sec)
--ifnull
select id, email, gender from user where id =5515;
+------+-------+--------+
| id | email | gender |
+------+-------+--------+
| 5515 | NULL | 2 |
+------+-------+--------+
1 row in set (0.00 sec)
select id,ifnull(email, '暂无邮箱') as email from user where id = 5515
+------+--------------+
| id | email |
+------+--------------+
| 5515 | 暂无邮箱 |
+------+--------------+
1 row in set (0.00 sec)
--isnull
select id, if(isnull(email), '暂无邮箱', email) as email from user where id = 5515;
+------+--------------+
| id | email |
+------+--------------+
| 5515 | 暂无邮箱 |
+------+--------------+
1 row in set (0.01 sec)
select id, if(isnull(email), '暂无邮箱', email) as email from user where id = 1561977;
+---------+---------------------+
| id | email |
+---------+---------------------+
| 1561977 | swsujianhua@163.com |
+---------+---------------------+
1 row in set (0.00 sec)
Tags:oracle pl sql if
猜你喜欢
- 2024-11-26 MS SQL Server——SQL语句导入导出大全
- 2024-11-26 最新!Oracle 20c 新特性详解
- 2024-11-26 一则小故事科普:数据治理到底怎么弄?
- 2024-11-26 SQL注入详解和SQL注入超详细sqlmap使用攻略
- 2024-11-26 一文看懂SqlServer数据库触发器概念、原理及案例
- 2024-11-26 mysql 存储过程总结(二)if语句、参数
- 2024-11-26 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接口
- 2024-11-26 C#使用SqlParameter执行多条SQL语句的方法
- 2024-11-26 数据库管理须知!如何快速掌握 SQL Server 中的 IF THEN 逻辑?
- 2024-11-26 SQL入门基础-如何串联拼接多列的值?