这个问题在这里已经有了答案:
mysql select in子句字符串逗号分隔(1个答案)
两年前关门了。
我创建了一个mysql存储函数,通过父id获取所有子id,它工作正常,该函数的返回类型为 varchar
它以字符串的形式返回子id,用逗号分隔,如( 2 ,3 ,4 ,5 ,7 ,8 ,9
).
当我把它们放进去的时候 IN()
运算符,它会带来与第一项相关的记录( 2
).
以下是查询:
SELECT * FROM department where id in(getChildDepartment(1))
注:以下为 1
我输入的参数是父部门的id。
提前谢谢。
1条答案
按热度按时间syqv5f0l1#
IN
不接受逗号分隔的值字符串,但接受值列表。返回一行的原因是发生了从字符串到整数的隐式类型转换,因为id
列可能有INTEGER
数据类型。更改返回值或使用: