1.内置函数
MySQL函数指的是MySQL数据库提供的内置函数,包括数学函数、字符串函数、日期和时间函数、聚合函数、条件判断函数等,这些内置函数可以帮助用户更方便地处理表中的数据, 简化用户的操作。
函数 | 描述 |
---|---|
数学函数 | 如abs、sort、mod、sin、cos、tan、cot等 |
字符串函数 | 如length、lower、upper、trim、substring等 |
日期和时间函数 | 如now、curdate、curtime、sysdate、date_format、year、month、week等 |
聚合函数 | count、sum、avg、min、max |
条件判断函数 | if、ifnull、case when等 |
系统信息函数 | version、database、user等 |
加密函数 | md5、sha1、sha2等 |
2.函数now()
函数now()用于返回当前的日期和时间。在实际应用中,大多数业务表都会带一个创建时间create_time字段,用于记录每一条数据的产生时间。在向表中插入数据时,就可以在insert语句中使用now()函数。
insert into `contacts` values (6, 'cherry', 25, '151****3219', now());
如下图所示,向contacts表中插入数据,通过now()给create_time字段赋值。
3.函数date_format()
函数date_format()用于以指定的格式显示日期/时间。在实际应用中,一般会按照标准格式存储日期/时间,如"2019-12-13 14:15:16"。在查询使用数据时,往往又会有不同的格式要求,这时就需要使用date_format()函数进行格式转换。
select field, date_format(field1, '%Y/%m/%d')
from tableName;
如下图所示,查询contacts表中name字段,并将数据入库时间字段create_time以"%Y/%m/%d"的格式显示。
4.函数ifnull()
函数ifnull()用于处理null值。ifnull(value1,value2),如果value1的值不为null,则返回value1,否则返回value2。
select ifnull(value1,value2)
from tableName;
如下图所示,查询contacts表中的name字段,如果name字段为空,则以"mysql"填充。
5.case when
case when是流程控制语句,可以在SQL语句中使用case when来获取更加准确和直接的结果。SQL中的case when类似于编程语言中的if else或者switch。
case [field]
when[condition1] then [result1]
when[condition2] then [result2]
else [default]
end
如下图所示,查询contacts表中的name、age和sex字段,如果sex为1则填充"男",否则填充"女"。
6.聚合函数
函数 | 描述 |
---|---|
count | 返回符合条件的记录总数 |
sum | 返回指定列的总和,忽略空值 |
avg | 返回指定列的平均值,忽略空值 |
min | 返回指定列的最小值,忽略空值 |
max | 返回指定列的最大值,忽略空值 |
如下图所示,查询contacts表,所有记录中年龄的最大值和平均值。