//创建存储过程
CREATE PROCEDURE `backup_table`( IN tableName CHAR ( 100 ) )
BEGIN
  SET @backupTable = CONCAT( tableName, '_bak_',DATE_FORMAT(NOW(), '%Y%m%d%k%i%s') );
  SET @stmt = CONCAT( "create table ", @backupTable, " like ", tableName, ";" );
  PREPARE stmt 
  FROM
    @stmt;
  EXECUTE stmt;
  SET @stmt = CONCAT( "INSERT into ", @backupTable, " SELECT * from ", tableName, ";" );  PREPARE stmt 
  FROM
    @stmt;
  EXECUTE stmt;
END//调用存储过程
call backup_table('表名');
//删除存储过程
drop  PROCEDURE backup_table;

 

 

 

CHAR_LENGTH(str)

返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。

◆ CHARACTER_LENGTH(str)

CHARACTER_LENGTH()是CHAR_LENGTH()的同义词。

◆ COMPRESS(string_to_compress)

压缩一个字符串。这个函数要求 MySQL已经用一个诸如zlib的压缩库压缩过。 否则,返回值始终是NULL。UNCOMPRESS() 可将压缩过的字符串进行解压缩。

配合left()函数,可以进行动态字符串的截取。

select left('A,B,C,',CHAR_LENGTH('A,B,C,')-1) as '截取'

 

mysql 存储过程 字符串长度 mysql存储过程截取字符串_字符串

 

 存储过程mysql判断字符串最后一位是否等于逗号,如果是就截取

select case when right(”字符串”,1) = ',' 
then 
left(”字符串”,CHAR_LENGTH(”字符串”)-1)
else
business_todo_id_temp
end 
 into BUSINESS_TODO_ID_temp;