一、sql中提供了哪些好用的函数
version() # 用来查询当前数据库的版本
user() # 查询当前登录用户
database() # 查询当前所在的数据库
uuid() # 返回uuid的值,分布式情况下数据库主键不重复的解决方案
二、聚合函数:
count(列名称) # 统计行
max(列名称) # 最大值
min(列名称) # 最小值
sum(列名称) # 求和统计
avg(列名称) # 求平均数
如果使用了聚合函数,建议和别名配合使用!!
三、数值型函数:
abs(num) # 求绝对值
sqrt(num) # 开平方根
pow(x, y)/power # 幂次方
mod(x, y) # 求余
ceil(num)/ceiling() # 向上取整
floor(num) # 向下取整
round(num) # 四舍五入
RAND() # 随机数
sign(num) # 返回自然数的符号(正:1, 负:-1,0为0)
四、字符串函数
length() # 获取字符串存储长度,注意中文编码问题
char_length() # 字符长度
concat(s1,s2...) # 拼接字符串
INSERT(str,pos,len,newstr) # 替换字符串
lower() # 转换为小写
upper() # 转大写
left(s, len) # 从左侧截取len长度的字符串
right(s, len) # 从右侧截取len长度的字符串
trim() # 清除字符串两侧空格
replace(s,s1, s2) # 替换字符串
substring(s, pos, len) # 截取字符串
reverse(str) # 翻转字符串
STRCMP(expr1,expr2) # 比较两个表达式的顺序。若expr1 小于 expr2 ,则返回 -1,0相等,1则相反
INSTR(str,s) # 返回第一次出现子串的位置
locate(s, str [,pos]) # 返回第一次出现子串的位置,pos表示匹配位置
五、日期和时间函数
insert into user VALUES(null, "王皮皮", "2000-06-13 09:26:33");
insert into user VALUES(null, "王皮皮", "2000/06/13 09:26:33");
insert into user VALUE(uuid(), "欧阳飞天", now());
SELECT CURDATE();
SELECT CURRENT_DATE();
SELECT CURRENT_DATE;
SELECT CURTIME();
SELECT CURRENT_TIME();
SELECT CURRENT_TIME;
SELECT NOW();
SELECT SYSDATE();
# 获取给定时间的日期
SELECT DATE(now());
SELECT DATE('2002-03-26 01:01:13');
SELECT TIME(SYSDATE());
SELECT TIME('2002-03-26 01:01:13');
SELECT MONTH(now());
SELECT MONTHNAME(now());
# 每月的第几天
SELECT DAY(now());
-- 星期数
SELECT DAYNAME(now());
SELECT DAYOFWEEK(now()) # 0是星期天,以此类推
SELECT week(now());
SELECT year(now());
# 查询一年中的那一天
SELECT DAYOFYEAR(now());
SELECT DATEDIFF('2020-10-10', "20200808");
SELECT SEC_TO_TIME(60804)
SELECT TIME_TO_SEC(now())