Mysql整理和存储过程

时间:2014-05-21 20:46:07

标签: mysql sql

我有一张水果桌(香蕉,苹果,梨)和我的查询:

SELECT name,id FROM fruits WHERE name LIKE ('%ban%');

请注意,查询包含禁止小写。 name列设置为utf8_collat​​ion_ci,所以当我运行select时,我得到了我的香蕉。如果我在存储过程中放入相同的查询,我将无法得到它。

我甚至尝试将COLLATE utf8_unicode_ci添加到存储过程中的查询中,但我没有再次获取我的香蕉。为什么?我应该将所有内容设置为Upper()并重新转换表中的所有值吗?

我正在使用mysql。

编辑:这就是HeidiSql编写SP的方式

CREATE DEFINER=`root`@`localhost` 
PROCEDURE `getFruits`(IN `inValue` VARCHAR(50))
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'get fruits'
BEGIN
 SELECT name,id FROM fruits WHERE valid=1 AND name LIKE 
    CONCAT('%',inValue,'%') COLLATE utf8_unicode_ci  LIMIT 100 ;
END

0 个答案:

没有答案