前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL学习,mysql常⽤函数汇总(三)

MySQL学习,mysql常⽤函数汇总(三)

作者头像
用户1289394
发布2021-10-13 16:07:37
2300
发布2021-10-13 16:07:37
举报
文章被收录于专栏:Java学习网Java学习网

ifnull:判断是否为空

IFNULL(v1,v2):v1为空返回v2,否则返回v1。

mysql> select ifnull(null,'路⼈甲Java'),ifnull('⾮空','为空');

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

| ifnull(null,'路⼈甲Java') | ifnull('⾮空','为空') |

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

| 路⼈甲Java | ⾮空 |

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

1 row in set (0.00 sec)

case:搜索语句,类似于java中的if..else if..else

类似于java中的if..else if..else

有2种写法

⽅式1:

CASE <表达式>

WHEN <值1> THEN <操作>

WHEN <值2> THEN <操作>

...

ELSE <操作>

END CASE;

⽅式2:

CASE

WHEN <条件1> THEN <命令>

WHEN <条件2> THEN <命令>

...

ELSE commands

END CASE;

⽰例:

准备数据:CREATE TABLE t_stu (

id INT AUTO_INCREMENT COMMENT '编号',

name VARCHAR(10) COMMENT '姓名',

sex TINYINT COMMENT '性别,0:未知,1:男,2:⼥',

PRIMARY KEY (id)

) COMMENT '学⽣表';

insert into t_stu (name,sex) VALUES

('张学友',1),

('刘德华',1),

('郭富城',1),

('蔡依林',2),

('xxx',0);

mysql> select * from t_stu;

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

| id | name | sex |

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

| 1 | 张学友 | 1 |

| 2 | 刘德华 | 1 |

| 3 | 郭富城 | 1 |

| 4 | 蔡依林 | 2 |

| 5 | xxx | 0 |

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

5 rows in set (0.00 sec)

需求:查询所有学⽣信息,输出:姓名,性别(男、⼥、未知),如下:

mysql> SELECT

t.name 姓名,

(CASE t.sex

WHEN 1

THEN '男'

WHEN 2

THEN '⼥'

ELSE '未知' END) 性别

FROM t_stu t;

+-----------+--------+| 姓名 | 性别 |

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

| 张学友 | 男 |

| 刘德华 | 男 |

| 郭富城 | 男 |

| 蔡依林 | ⼥ |

| xxx | 未知 |

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

5 rows in set (0.00 sec)

mysql> SELECT

t.name 姓名,

(CASE

WHEN t.sex = 1

THEN '男'

WHEN t.sex = 2

THEN '⼥'

ELSE '未知' END) 性别

FROM t_stu t;

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

| 姓名 | 性别 |

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

| 张学友 | 男 |

| 刘德华 | 男 |

| 郭富城 | 男 |

| 蔡依林 | ⼥ |

| xxx | 未知 |

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

5 rows in set (0.00 sec)mysql> SELECT user();

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

| user() |

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

| root@localhost |

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

1 row in set (0.00 sec)

mysql> SELECT password('123456');

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

| password('123456') |

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

| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

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

1 row in set, 1 warning (0.00 sec)

mysql> SELECT md5('123456');

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

| md5('123456') |

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

| e10adc3949ba59abbe56e057f20f883e |

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档