我正在使用VSC ++和MySQL ver.5.2.25数据库,我在MySQL中测试过这样的查询:
select Name from test.virus where Name LIKE 'b' '%' ORDER BY Name;
它运行良好并返回以'b'开头的所有名称,我想使用例程而不是此查询,以便我可以从我的程序中调用例程。我试过这个:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `StartWith`(NewName VarChar(20))
BEGIN
select NameVirus from test.virus
where NameVirus LIKE "'+NewName+' '%'" ORDER BY NameVirus;
END
当我在MySQL中调用例程时没有错误,但结果是一个空表,我猜问题是参数类型,哪个类型应该是“NewName”参数?
感谢任何回复
答案 0 :(得分:0)
示例查询中的您喜欢的条件存在缺陷。它应该是'b%'
。
过程where子句可能需要如下所示:
where NameVirus LIKE CONCAT(NewName,'%') order by NameVirus