目录
系统函数
- 聚合函数
- 数值型函数
- 字符串函数
- 日期时间函数
- 流程控制函数
- 加密函数
use database;
--存储过程,串一下循环结构
delimiter &&
create procedure proc_sum() --起名要命
begin
declare i int default 1;
declare s int default 0; --declare
--
a:loop --loop
set s = s+i;
set i = i+1;
if i>100 then leave a; --if then leave
end if;
end loop;
--
select s as result;
end &&
delimiter ;
call proc_sum();
-- repeat
repeat
set s = s+i;
set i = i+1;
until i>100
end repeat;
--
--while
while i <=100 do
set s = s+i;
set i = i+1;
end while;
--
review over
聚合函数
MAX MIN COUNT SUM AVG 不再赘述。
数值型函数
老朋友
- ABS 绝对值
- SQRT 开根
- POW 次方
- MOD 取余
- CEIL 向上取整
SELECT CEIL(-2.5),CEIL(2.5);
-- -2 3
- RAND 0~1随机数 (传入整数参数来产生重复序列)
SELECT RAND(),RAND();
- SIN COS TAN COT
- ASIN ACOS ATAN
新伙计 (反正我不太了解)
- FLOOR 向下取整 转化BIGINT
- ROUND 四舍五入
- SIGN 返回符号
字符串函数
- LENGTH
SELECT LENGTH('name'),LENGTH('数据库');
-- 4 9
- CONCAT 合并
SELECT CONCAT('MYSQL','X.X');
- INSERT 替换
SELECT INSERT('Football',2,4,'Play') AS coll
--INSERT (s1,x,len,s2) x起始点,len 替换长度
--返回 FPlayall
- LOWER UPPER 大小写
- LEFT RIGHT 从左/右开始,返回字符串左/右的若干个字符
SELECT LEFT('MYSQL',2);
--MY
like '李%' (还有个正则... 3种字符串取头方式)
- TRIM 删除字符串左右2侧的空格
- REPLACE 字符替换 ,返回新字符串
SELECT REPLACE ('aaa.mysql.com','a','w');--a 替换成w
--www.mysql.com;
- SUBSTRING 子字符串
SELECT SUBSTRING ('computer',3) AS coll, --mputer
SUBSTRING ('computer',3,4) AS coll2, --mput
SUBSTRING ('computer',-3) AS coll4, --ter
SUBSTRING ('computer',-5,3) AS coll3; --put
--SUBSTRING(s,n,len) 字符串 起始点n 长度
- REVERSE 反转字符串
RESERVER('2333')
日期和时间函数
- CURDATE(CURRENT_DATE)
- CURTIME
- NOW
- MONTH WEEK YEAR
- ADDTIMIE SUBTIME
流程控制函数
- IF
- IFNULL
- NULLIF
- CASE WHEN
加密函数
- MD5
- SHA 计算字符串 安全散列算法(SHA)校验和
- SHA2(s, hash_length) hash_length 支持224、256、384、512、0(等同256)
自定义函数
delimiter $$
create function 函数名 ([参数列表[,...]) return type
begin
sql语句;
return 值;
end;
delimiter ;
参数列表格式:参数名 类型
调用函数语法格式:
select 函数名([参数[,....]]);
declare z int ;
set z=x+y;
return z;
查看函数
show function status;
(修改函数,不常用)
删除函数
drop function 函数名;