MySQL函数和游标之初见
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
MySQL函数
基本语法
- 函数申明要声明返回类型,用returns指定。
- 函数体中要有返回语句,return 返回值。
- 函数执行有别与存储过程执行,不需要Call关键字。
<例>定义一个返回时间和uuid拼接字符串的函数
-- 创建函数
CREATE FUNCTION my_function2() RETURNS CHAR(55)
BEGIN
DECLARE re char(55);
select CONCAT(CONVERT(NOW(),CHAR(19)),CONVERT(UUID(),CHAR(36))) INTO re;
RETURN re;
END;
-- 可用CHAR_LENGTH(str)函数判断char类型字符串长度,准确判断需要的字符长度,做出准确判断避免空间浪费
-- 执行函数
SELECT my_function2() from DUAL;
说明
- CHAR_LENGTH(str) 返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符。
- LENGTH(str) 返回字符串所占的字节数,是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符。
- CHARACTER_LENGTH(str) 是 CHAR_LENGTH() 的同义词。
- BIT_LENGTH(str) 返回2进制长度。
- SELECT CONVERT(NOW(),char(20)) 转换格式函数,可转换的类型有
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED
- CONCAT(str1,str2,...) 连接字符串函数,参数可以多个。oracle中该函数只可以是两个参数,所以用str1||str2方式连接字符串可以有效避免函数嵌套,效率更高。
MySQL游标
游标有点复杂,博主懒得整理了,直接将图po上
有一点注意:游标中所有声明DECLARE都要写在一起
<-END->
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341