mysql 反向查询 函数创建

来源:互联网 发布:网络大电影立项新规定 编辑:程序博客网 时间:2024/05/21 11:23

某表中存的menuitem字段值为"3,4",要求找出3和4对应的menuitem值:

SELECT name FROM tb_menuitem where CONCAT(',', '3,4', ',')like CONCAT('%,', CAST(id AS CHAR),',%')  --id前后加个逗号反正4772的值用772就能查出来,作用同 find_in_set


在mysql workbench中搞了半天,创建函数的语法老是报错,最后通关的一份记录备忘,关键还是要正确使用DELIMITER

DELIMITER $$DROP function IF EXISTS mealbooker.fGetMenuItemNameZh;  $$ DELIMITER $$CREATE FUNCTION mealbooker.fGetMenuItemNameZh(ItemIDs varchar(50)) RETURNS varchar(800) CHARSET gb2312BEGIN     DECLARE myres varchar(800);    SET myres = '';    SELECT GROUP_CONCAT(name SEPARATOR ',') INTO myres FROM mealbooker.tb_menuitem         where CONCAT(',', ItemIDs, ',')like CONCAT('%,', CAST(id AS CHAR),',%');       RETURN myres;END $$


0 0
原创粉丝点击