-- 函数
-- 统计函数
SELECT count(*) as count FROM student
SELECT count(studentNo) as count FROM student
SELECT count(1) as count FROM student
-- 平均分
SELECT avg(studentResult) FROM result
-- 最大值
SELECT max(studentResult) FROM result
-- 最小值
SELECT min(studentResult) FROM result
-- 总和
SELECT sum(studentResult) FROM result
-- 数学函数
-- 返回 绝对值
SELECT ABS(-1)
-- 返回大于或等于 最小整数
SELECT CEIL(1.5)
-- 返回 小于或等于的最大整数
SELECT FLOOR(1.5)
-- 返回 0 ~ 1 之间的随机数
SELECT RAND()
-- SIGN(X) 返回x的符号 x是负数 0 正数 分别返回 -1 、0、 1
SELECT SIGN(10)
-- 圆周率
SELECT PI()
-- 返回X保留小数点后 D位
SELECT TRUNCATE(1.23456,4)
-- 返回x的D次方
SELECT POW(2,3)
-- 返回平方根
SELECT SQRT(25)
-- 返回x次方
SELECT EXP(3)
-- 返回 返回 5 与 2 相除后的余数
SELECT MOD(5,2)
-- 角度转换为弧度
SELECT RADIANS(180)
-- 弧度转换为角度
SELECT DEGREES(3.14159265358979)
-- 正弦值
SELECT SIN(RADIANS(30))
-- 字符串函数
-- 返回字数
-- 返回值字符串的字符数
SELECT CHAR_LENGTH('HELLO 123')
SELECT LENGTH('HELLO 123')
-- 字符串合并
SELECT CONCAT('12','34')
-- 合并时加 每个字符加'@'
SELECT CONCAT_WS('@','12','34')
-- 字符串 替换 ('12345',开始位置,结束位置,'替换的数据')
SELECT INSERT('12345',1,3,'abc')
-- 将字母转换为大写
SELECT UPPER('abc')
-- 将字母转换为小写
SELECT LOWER('ABC')
-- 返回前x位
SELECT LEFT('abcde',3)
-- 返回后x位
SELECT RIGHT('abcde',3)
-- 去除开始空格
SELECT LTRIM(' 12 3 ')
-- 去除结尾空格
SELECT RTRIM(' 12 3 ')
-- 去除前后空格
SELECT TRIM(' 12 3 ')
-- 将字符串 重复x次
SELECT REPEAT('ab',4)
-- 替换 ('abc','要替换的值','替换值')
SELECT REPLACE('abc','a','x')
-- 比较两个字符串
SELECT STRCMP('123','123')
-- 获取a的位置
SELECT INSTR('abc','a')
-- 反转字符串
SELECT REVERSE('abc')
-- 返回第 n个字符串
SELECT ELT(3,'a','b','c','d')
-- 时间函数
-- 获取当前日期
SELECT CURDATE()
-- 获取当前时间
SELECT CURTIME()
-- 获取当前日期时间
SELECT NOW()
-- 获取 UNIX时间戳
SELECT UNIX_TIMESTAMP()
-- 獲取時間戳
SELECT UNIX_TIMESTAMP('2020-08-03 11:11:11')
-- 将时间戳转换为 普通格式
SELECT FROM_UNIXTIME(1596424271)
-- 返回UTC 日期
SELECT UTC_DATE()
-- 返回UTC 时间
SELECT UTC_TIME()
-- 获取日期中的月份
SELECT MONTH('2020-08-03 11:11:11')
-- 获取月份名称
SELECT MONTHNAME('2020-08-03 11:11:11')
-- 获取星期
SELECT DAYNAME('2021-08-03 11:11:11')
SELECT DAYOFWEEK('2021-08-03 11:11:11')
-- 计算日期是本年的第几天
SELECT DAYOFYEAR('2021-08-03 11:11:11')
-- 计算本年的第几个星期
SELECT WEEK('2021-08-03 11:11:11') -- 0 ~ 53
-- 计算本月的第几天
SELECT DAYOFMONTH('2021-08-03 11:11:11')
-- 计算 日期是第几季节 1 ~ 4
SELECT QUARTER('2021-08-03 11:11:11')
-- 小时
SELECT HOUR(CURTIME())
-- 分钟
SELECT MINUTE(CURTIME())
-- 秒
SELECT SECOND(CURTIME())
-- 按照指定返回
SELECT EXTRACT(YEAR FROM '2021-08-03 11:11:11')
-- 将时间转换为秒
SELECT TIME_TO_SEC(CURTIME())
-- 将秒为单位的时间 转换为时分秒格式
SELECT SEC_TO_TIME(57852)
-- 计算距离时间的天数 0001-01-01 01:01:01
SELECT TO_DAYS('0001-01-01 01:01:01')
-- 计算从0000年1月1日开始的n天后的日期
select FROM_DAYS(1111)
-- 计算 两个时间的相隔天数
SELECT DATEDIFF('2021-08-03 11:11:11','2021-08-05 11:11:11')
-- 累加数值到 时间中 默认是天
SELECT ADDDATE('2021-08-03 11:11:11',3)
-- 累减数值到 时间中 默认是天
SELECT SUBDATE('2021-08-03 11:11:11',3)
-- 加一秒
SELECT ADDTIME('16:12:25',1)
-- 减一秒
SELECT SUBTIME('16:12:25',1)
-- 条件判断函数
SELECT IF(1>0,'正确','错误')
-- 系统信息函数
SELECT VERSION() -- 返回数据库版本号
SELECT CONNECTION_ID() -- 返回服务器连接数
SELECT DATABASE() -- 当前数据库名称
SELECT USER() -- 当前用户
SELECT SYSTEM_USER()
SELECT SESSION_USER()
SELECT CURRENT_USER()
-- 加密
SELECT MD5('123456')
SELECT PASSWORD('123456')
SELECT ENCODE('','ceshi')
SELECT DECODE('','ceshi')
SELECT FORMAT(3.1415926,3)-- 四舍五入
数据库常用聚合函数
最新推荐文章于 2024-03-13 22:02:25 发布