现有这样一张学生表,学生的性别是布尔值,但是查询结果想要显示为男女
,而不是01
,该如何写查询语句?
- 查询学生性别,将数据库中的01显示为男女
使用case函数,使用方式:
case 列名 when 值1 then 显示1 when 值2 then 显示2 else 显示3 end
select stuname as 姓名,case stusex when 1 then '男' when 0 then '女' else '未知'end as 性别 from `tb_student`;
- 查询学生年龄
由表可知,表中只有学生出生日期,并没有直接给出年龄,因此只能使用函数计算得出,mysql中的datediff函数可以计算两个日期的差值,curdate拿到当前日期,floor函数向下取整。
select stuname,floor(datediff(curdate(),stubirth)/365) as 学生年龄 from `tb_student`;
由上可知,在做数据库查询的时候,有些时候并不能直接拿到想要的结果。
但是,如何知道mysql中有哪些函数并知道它的用法呢?
在Linux中,进入mysql,使用?
后面跟上想要查询的内容
语句 | 含义 |
---|---|
mysql> ? functions | 查询所有的函数 |
mysql> ? Control Flow Functions | 查询分支控制函数 |
mysql> ? IF FUNCTION | 查询IF 函数的使用方法 |
查所有函数
查某类函数
查具体函数
最下面有使用实例,一看就会!