函数可以分为:单行函数 和 多行函数。
单行函数
所谓的单行函数就是将每条数据进行独立的计算,然后每条数据得到一条结果。
1.流程控制函数
case
select name, age,
(
case sex
when 1 then "男"
when 0 then "女"
else "火星人"
end
)
from user;
if
select id, name, course, if(socre<60, "fail", "pass")
from student;
2. null处理函数
ifnull
select ifnull(birthday, "is null birthady") from user;
如果birthday为null,就返回后面的字符串。
nullif
select nullif(age, 245) from user;
如果age等于245就返回null,不等于就返回age。
isnull
select isnull(birthday) from user;
判断birthday是否为Null.
select if(isnull(birthday), "birthday is null", "birthday is not null") from user;
coalsece
返回第一个非null的值
select coalesce(null, 1);
3.加密函数
md5(str)
password(str):单向,不可逆。
4.数学函数
abs(x):绝对值
greatest 返回最大值
select greatest(2,3);
least 返回最小值
select least(2,3);
round(x) round(x,d) 四舍五入
select round(1.58); #2
select round(1.298, 1); #1.3
select round(23.298, -1); #20
fromat(x,d)
将数字x的格式写为“#,###,###.###”,以四舍五入有方式保留小数点后d位。
select format(12332.123456,4); #结果:12,332.1234
5.日期时间函数
获得当前系统日期
select curdate();
获得当前系统时间
select curtime();
增加日期或时间
select date_add('2010-06-21', interval 2 month);
interval是一个关键字,2 month 2个月,2是数值,month是单位
select addDate('2011-2-24', 2);
在前面的日期上加上后面的天数。
select date_add('1999-01-01', interval 1 day); #增加一天
select date_add('1999-01-01', interval 1 hour); #增加一小时
格式化日期
date_format(date,fmt)
select date_format(birthday, '%Y-%m-%d %H:%i:%s') from user;
将字符串转换为日期
str_to_date(str,fmt)
select str_to_date('04/31/2004', '%m/%d/%Y');
6.字符串函数
char_length(str) 返回字符串str的长度,单位为字符。
length(str) 返回字符串的长度,单位为字节。
upper(str) 转换为大写字母。
lower(str) 转换为小写字母。
left(str, len) 返回从字符串开始的len最左字符。
right(str, len) 返回从字符串开始的len最右字符。
char() 将整数转换为字符。
concat(str1, str2,...) 连接字符串。
select concat('My','S','QL'); #结果:MySQL
replace(str, from_str, to_str) 替换字符串
select replace('www.mysql.com', 'w', 'Ww'); #结果:WwWwWw.mysql
reverse(str) 反转字符串
instr(str, substr) 返回字符串str中子字符串的第一个出现位置。
select instr('Hello World', 'or'); #结果:8
trim( [{both | leading | trailing}[remstr] from] str) 去除前缀后缀
select trim(' bar '); #结果:'bar'
select trim(leading 'x' from 'xxxbarxxx'); 结果:'barxxx'
select trim(both 'x' from 'xxxbarxxx'); 结果:'bar'
select trim(trailing 'xyz' from 'barxxyz'); 结果:'barx'
lpad 左填充
rpad右填充
select rpad('Smith', 10, '*'); #结果:'Smith**********'
substring(str,pos), substring(str,pos,len) 子字符串
select substring('Sakila',2); #结果:'akila'
select substring('Sakila',-3); #结果:'ila'
select substring('Sakila',-3,2); #结果:'il'
7.类型转换函数
cast(val as type) / convert(str type)
将传入的参数值转为另一种数据类型
类型:binary[(N)], char[(N)], date, datetime, decimal, signed,time, unsigned [integer]
select cast('2000-01-01 02:10:30' as date);
select cast('24.36' as signed); #转换为整型
select cast('100' as decimal); #转换为浮点型
convert(str using char_set)
将字符串转换编码
select convert('ab中国' using utf8)
多行函数
就是多条记录同时计算,得到最终一条结果记录。也成为聚集函数、分组函数,主要用于完成一些统计功能。
avg平均值
select avg(age) from user;
select avg(distinct age) from user;
count记录条数统计
select count(*), count(age), count(distinct age) from user;
max最大值
select max(age), max(distinct age) from user;
min最小值
select min(age), min(distinct age) from user;
sum求和
select sum(age), sum(distinct age) from user;
select sum( ifnull(age, 0) ) from user;
group by子句
1.出现在select列表中的字段 或者 出现在order by后面的字段,如果不是包含在分组分数中,那么该字段必须同时在group by子句中出现。
2.包含在group by子句中的字段则不必须出现在select列表中。
3.如果没有group by子句,select列表中不允许出现字段(单行函数)与分组函数混用的情况。
4.不允许在where子句中使用分组函数,having中才能用。
分享到:
相关推荐
MySQL函数手册是一部非常重要的参考资料,尤其对于数据库管理员和开发人员来说,它提供了全面而详细的MySQL数据库函数使用指南。这份手册涵盖了MySQL中各种内置函数的功能、语法以及使用示例,是学习和工作中不可或...
STRCMP STRCMP()函数是MySQL里比较字符串的最简单方式之一。这个函数接受两个参数——要被比较的字符串。如果这个两个字符串相同,它就返回0;如果第一个大于第二个,它就返回1;如果第一个小于第二个,它就返回-1 ...
1. **自定义MySQL函数** 可以创建一个用户自定义函数(UDF),比如`num_to_rmb`,来完成这个转换。首先,你需要定义一个存储过程,包含将数字转换为汉字的逻辑。这个过程可能包括一系列的条件判断和字符串拼接操作...
MySQL函数手册是数据库管理员和开发人员的重要参考资料,它详尽地列出了MySQL中各种功能丰富的函数,便于在SQL查询和数据处理中使用。本手册特别关注了日期和时间相关的函数,这些函数在处理时间序列数据时尤其关键...
以下是一些重要的MySQL函数及其用途: 1. ASCII函数 ASCII函数用于返回字符的ASCII码值。如果参数是非ASCII字符,函数将返回NULL。例如: ```sql SELECT ASCII('2'); -- 返回 50 SELECT ASCII('dx'); -- 返回 100 `...
以下是一些关键的PHP MySQL函数的详细说明: 1. **建立数据库连接** - **mysql_connect()**:这是PHP中用于创建一个到MySQL服务器的新连接的函数。它接受主机名、用户名和密码作为参数。如果连接成功,它将返回一...
MySQL函数大全中文版是一份详尽的MySQL数据库系统函数参考资料,涵盖了从基础到高级的各种函数用法。这份文档旨在帮助数据库管理员、开发人员和学习者深入理解和应用MySQL中的各种功能,提升数据库操作效率和数据...
MySQL 函数大全 MySQL 函数大全是 MySQL 数据库管理系统中提供的一组功能强大且实用的函数,旨在帮助开发者和数据库管理员更好地管理和维护数据库。这些函数涵盖了字符串处理、数字处理、日期和时间处理、聚合函数...
MySQL函数大全涵盖了大量的操作,包括对字符串、数值和数据类型的转换。以下是一些重要的MySQL函数的详细介绍: 1. ASCII(str): 这个函数返回字符串str的第一个字符的ASCII码值。如果str为空,它返回0;如果str是...
MySQL函数是数据库操作中不可或缺的一部分,它们用于处理各种任务,如数据转换、字符串操作、日期和时间处理等。本文将详细介绍几个重要的MySQL函数,包括ASCII()、ORD()、CONV()、BIN()、OCT()、HEX()、CHAR()、...
MySQL函数大全是一个全面涵盖MySQL数据库管理系统中各种内置函数和API的资源库,旨在为开发者提供详尽的参考信息。MySQL是世界上最受欢迎的关系型数据库之一,它的功能强大且灵活,广泛应用于网站开发、数据存储和...
在本指南中,我们将对 MySQL 函数大全进行详细的介绍,包括字符串操作函数、数字操作函数、日期和时间函数、条件函数、加密函数、信息函数、聚合函数等。 字符串操作函数 ASCII(str) 函数返回字符串 str 的最左面...
在MySQL数据库管理系统中,函数的使用非常广泛,可以帮助我们方便快捷地处理和转换数据。根据给定的文件内容,我们可以了解到多种MySQL中的字符串函数及其用法示例。下面详细介绍这些函数的知识点。 1. ASCII函数:...
本文将详细解析MySQL函数库中的部分关键函数,帮助用户更好地理解和运用这些强大的工具。 ### 字符串处理函数 #### ASCII(str) 返回字符串`str`中第一个字符的ASCII码值。如果`str`为空,则返回0。 ``` mysql> ...
Mysql函数手册 常用的函数 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_timestamp ,localtime() ,localtime ,localtimestamp -- (v4.0.6) ,localtimestamp() ...
MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6)
总的来说,通过理解和应用哈弗辛公式,以及创建相应的MySQL函数,我们可以有效地在数据库中处理基于经纬度的地理位置计算。这对于开发基于位置的应用程序,如导航、地图服务或附近搜索等功能非常有用。