//创建存储过程
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判断字符串最后一位是否等于逗号,如果是就截取
select case when right(”字符串”,1) = ','
then
left(”字符串”,CHAR_LENGTH(”字符串”)-1)
else
business_todo_id_temp
end
into BUSINESS_TODO_ID_temp;