Mysql函数使用

1.统计函数

1.count()

  • count(*)会返回满足条件的记录的行数,包含NULL
  • count(col)会排除列中为NULL的行

SELECT COUNT(*)  | COUNT(col | expression)

                FROM tb_name

                [WHERE where_definition];

2.avg()

SELECT AVG(col1 | expression)  {, AVG(col2 | expression) ... }

                FROM tb_name

                [WHERE where_definition];

3.sum()

  • 如果对字符串求和无意义

SELECT SUM(col1 | expression)  [AS alias] {, SUM(col2 | expression) ...} 

                FROM tb_name

                [WHERE where_definition];

4.max() \ min()

SELECT MAX/MIN(col1 | expression)  {, MAX/MIN(col2 | expression) ... }

                FROM tb_name

                [WHERE where_definition];

2.分组统计 

group by和having指令

  • group by指令会使图表按照group by后的的列进行分组
  • HAVING指令则是在分组后进行筛选

SELECT col1, col2, ... 

                FROM tb

               GROUP BY col1 [HAVING expression];

分组前 

分组后

3.字符串函数

注:可以使用系统的亚元表DUAL进行测试,例如select instr('aaabbbccc', 'ab') from DUAL;

1.charset(str)

  • 返回str串所用的字符集

2.concat (string1 [, string2...])

  • 拼接字符串

3.instr(string, substring)

  • 返回substring在string的出现位置,没有返回0

4.ucase(string) / lcase(string)

  • 所有字母转成大 / 小写

5.left(string, length) / right(string, length)

  • 从string的左 / 右边起取出length个字符

6.length(string)

  • 以字节为单位,返回string字符串的长度

7.replace(str, search_str, replace_str)

  • 将str中的search_str替换成replace_str

8.strcmp(string1, string2)

  • 比较string1,string2的大小,有点类似于C语言里的strcmp()函数
  • 注意使用的字符规则是否具有不区分大小写等特性

9.substring(str,position [, length])

  • 从str字符串的position位置开始,取出length长度的字符
  • 省略length将会从position开始一直取出到str字符串的末尾
  • position以1作为起始计算位置

10.ltrim(string) / rtrim(string) / trim(string)

  • 去除左边 / 右边 / 两边的空格

4.数学函数

数学函数
least(num1, num2, num3,  ...)求最小值

abs(num)

求绝对值
bin(decimal_num)十进制转二进制函数
conv(num, from, to)from为原进制,to为转换后进制进制转换
floor(num)向下取整
format(num, places)保留小数位数
hex(decimal_num)十进制转十六进制
mod(num,deno)返回值为num%deno取余数
rand([seed])输入种子时可保持输出随机数不变输出0~1的随机数
ceiling(num)向上取整

5.日期函数

current_date()

当前日期(年月日)

current_time()当前时间(时分秒)
current_timestamp()当前时间戳(年月日时分秒)
now()当前年月日时分秒
date(datetime)返回datetime的年月日
date_add(date, INTERVAL value type)加上value一段时间,需要判断type类型
date_sub(date, INTERVAL value type)减少value一段时间
datediff(date1,date2)两个日期差(结果以天数返回,可以为负)

timediff(date1, date2)

两个时间差(结果以时分秒返回)

from_unixtime(seconds, format)

可以将seconds的秒数转换成指定形式,从1970-1-1开始
unix_timestamp()返回1970-1-1到现在的秒数
year | month | date (datetime)取出年 | 月 | 日

date_add()函数使用案例:

from_unixtime()函数使用案例: 

6.流程控制函数

if(expression1,expression2,expression3)expression1为真返回expression2,否则返回expression3
ifnull(expression1. expression2)expression1不为空返回expression1,否则返回expression2

select case

when expression1 then expression2

when expression3 then expression4

else expression5 end

多分支

示例演示:

7.加密函数

user()

用户查询(用户@IP地址)

database()查询当前数据库名称
md5(str)为str字符串计算一个经md5加密的32位字符串
password(str)为str字符串计算一个加密字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁S༺༒༻Y꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值