数据库MYSQL函数集合

MYSQL函数集合(select+函数)

1、计算数值函数

含义SQL函数
统计函数count(*/列名/1)
平均分avg(x)
最大值max(x)
最小值min(x)
总和sum(x)
返回绝对值abs(x)
返回 >= 最小整数cell(x)
返回 <= 最大整数floor(x)
返回0~1之间随机数rand()
返回x符号(x为负数/0/正数——返回-1/0/1)sing(x)
圆周率PI()
返回x保留小数点后d位truncate(x,d)
返回x保留小数点后d位,不足补零format(x,d)
返回a的b次方pow(a,b)
返回平方根sqrt(x)
返回e 的x次方exp(x)
返回x%y余数mod(x,y)
角度转换为弧度radians(x)
弧度转换为角度degrees(x)
正弦值sin(radians(x))
条件判断函数SELECT IF(1>0,‘正确’,‘错误’)

2、字符串函数

含义字符串函数
返回字符串的字符数char_length/length
合并字符串concat
合并时,每个字符加 @concat_ws(’@’,a,b)
字符串替换insert(‘字符串’,开始位置,终止位置,‘替换数据’)
字母转为大写upper(x)
字母转为小写lower(x)
返回前x位left(‘ ’,x)
返回后x位right(‘ ’,x)
去除开始空格LTRIM(’ ')
去除结尾空格RTRIM(’ ')
去除前后空格TRIM(’ ')
将字符串重复x次repeat(x)
字符替换replace(‘字符串’,‘要替换的值’,‘替换值’)
比较两个字符串strcmp(x,y)
获取a的位置instr(’’,‘a’)
反转字符串reverse(x)
返回第n个字符串ELT(n,’’,’’,’’,’’)

3、时间函数

含义时间函数
当前日期curdate()
当前时间curtime()
当前日期时间now()
获取UNIX时间戳nuix_timestamp()
获取时间戳nuix_timestamp(‘x’)
将时间戳转为普通格式form_timestamp(x)
返回UTC 日期UTC_DATE()
返回UTC 时间UTC_TIME()
获取日期中的月份——数字month(’ ')
获取日期中的月份名称——英文monthname(’ ')
获取日期中的星期——英文dayname(’ ')
获取日期中的星期名称——数字,以周日开始0-7dayofweek(’ ')
计算日期是本年的第几天dayofyear(’ ')
计算本年第几个星期——0-53week(’ ')
计算本月第几天dayofmonth(’ ')
计算日期是第几季度——1-4quarter(’ ')
小时HOUR(‘ ’)
分钟MINUTE(’ ‘)
SECOND(’ ‘)
按照指定返回EXTRACT(指定格式 FROM ‘ ’)
将时分秒格式转化为秒time_to_sec(’ ‘)
将秒转化为时分秒格式sec_to_time(’ ‘)
计算距离(0000-01-01)天数to_days(’ ‘ )
计算两个时间相隔天数datediff(终止时间,开始时间)
累加数值到 时间中 默认是天ADDDATE(‘2021-08-03 11:11:11’,3)
累减数值到 时间中 默认是天SUBDATE(‘2021-08-03 11:11:11’,3)
加一秒ADDTIME(‘16:12:25’,1)
减一秒SUBTIME(‘16:12:25’,1)

4、系统信息函数

含义系统信息函数
返回数据库版本号version()
返回服务器连接数connection_id()
当前数据库名称DATABASE()
当前用户USER()
当前用户SYSTEM_USER()
当前用户SESSION_USER()
当前用户CURRENT_USER()

5、加密函数

含义加密函数
加密md5(’’)
加密password(’’)
加密encode(’’,‘加密方式’)
对encode解密decode(’’,‘加密方式’)

6、窗口函数

1.窗口函数语法(OLAP函数)

	select *,
	  <窗口函数> over (partition by <用于分组的列名>
	                order by <用于排序的列名>[DESC 降序|ASC 升序])
	from 班级表

<窗口函数>的位置,可以放以下两种函数:

  1. 专用窗口函数,比如rank, dense_rank, row_number等
  2. 聚合函数,如sum,avg, count, max, min等

2.窗口函数有以下功能

1)同时具有分组(partition by)和排序(order by)的功能

2)不减少原表的行数,所以经常用来在每组内排名

3.注意事项

  • 窗口函数原则上只能写在select子句中
  • rank, dense_rank, row_number区别
    • rank:数值相同,排名相同,下一个按次序排
    • dense_rank:数值相同,排名相同,下一个名次加一
    • row_number:数值相同,排名不同,按次序排列
      在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值