MySQL函数和游标之初见

database

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->

以上是 MySQL函数和游标之初见 的全部内容, 来源链接: utcz.com/z/531285.html

回到顶部