一、常用函数
我们通常说的MySQL函数值得是MySQL数据库提供的内置函数,包括数学函数,字符串函数,日期和时间函数,聚合函数,条件判断函数等,这些内置函数可以帮助用户更方便的处理表中的数据,简化用户操作。常用的 MySQL 内置函数如下:
1.now
函数 now() 用于返回当前的日期和时间。在实际应用中,大多数业务表都会带一个创建时间 create_time 字段用于记录每一条数据产生的时间,在向表中插入数据时,就可以在 insert 语句中使用 now() 函数。例如,在学生表中插入一条学生信息:
insert into student(id,name,age,create_time) values (1,'jack',20,now());
2.date_format
函数 date_format() 用于以指定的格式显示日期或时间,在实际应用中一般会按照标准格式存储日期时间,但是在查询使用数据的时候往往又会有不同的格式要求,这是就需要 date_format() 函数进行格式转换。例如将学生的生日信息输出为 ‘2000-12-01’:
select name,date_format(birthdat,'%Y-%m-%d') from student;
3. 聚合函数
聚合函数是对一组值进行计算,并返回单个值,常用的聚合函数有五种:
TIP
这里的空值指的是 NULL
4. ifnull
函数 ifnull() 用于处理NULL值,ifnull(v1,v2),如果v1的值不为 NULL,则返回 v1,反之返回 v2。例如查询学生的家庭地址,如果为 null,则显示地址未填写:
select name,ifnull(address,'未填写') from student;
5. case when
case when 是流程控制语句,可以在SQL语句中使用 case when 来获取更加准确和直接的结果。SQL中的case when 类似于变成语言中的 if else 或者 switch。语法有两种:
# 第一种 CASE [col_name] WHEN [value1] TEHN [result1]...ELSE [default] END # 第二种 CASE WHEN [expr] TEHN [result1]...ELSE [default] END
例如学生表的 sex 字段 1代表男,2代表女,0代表未填写,通过 case when 的转换如下:
select name , case sex when 1 then '男' when 2 then '女' else '未填写' end as sex form student;