1 概述
由于 MySQL 不提供正则替换、分割等函数,所以无法像程序语言一样直接采用正则函数处理。MySQL 只提供正则匹配即 regexp
关键字,所以以下采用思路是遍历字符串中为每一个字符来匹配提取。
- 匹配中文:
[^ -~]
、hex(name) regexp 'e[4-9][0-9a-f]{4}'
、^[\u4e00-\u9fa5]
- 匹配数字:
[0-9]
- 匹配字母:
[a-zA-Z]
2 UDF 语法
create function function_name
(param_name type[…]) returns type
begin
function body…
end
函数变量
- 声明:declare var_name[,…] type [default value]
- 赋值:set var_name=value;
select c1 into var_name
。使用 set 或 select into 赋值
分支结构
if
if condition then
statements;
[elseif condition then statements]
...
[else statements]
end if;
case
case case_value
when when_value then
statements;
[when when_value then statements]
...
[else statements]
end case;