Mysql 在查询的where条件中调用函数

Mysql 在查询的where条件中调用函数,mysql,function,user-defined-functions,Mysql,Function,User Defined Functions,我在MySQL中创建了一个自定义函数。 我想在查询条件如下的地方调用它 SELECT * FROM TABLE_NAME WHERE (FUNCTION_NAME); 这可能吗 注意:我的函数像查询一样返回值是的,您可以在查询中使用函数。。。 唯一的问题是你的身体状况,如果你打算使用类似 从表名称中选择*,其中id=函数名称确保Function_NAME返回一个数字而不是查询,或者如果要使用where in, 从id所在的表名称中选择*(函数名称)确保函数名返回带有一列的查询。函数名最重要的

我在
MySQL
中创建了一个自定义函数。 我想在查询条件如下的地方调用它

SELECT * FROM TABLE_NAME

WHERE (FUNCTION_NAME);
这可能吗


注意:我的函数像查询一样返回值

是的,您可以在查询中使用函数。。。 唯一的问题是你的身体状况,如果你打算使用类似
从表名称中选择*,其中id=函数名称确保Function_NAME返回一个数字而不是查询,或者如果要使用
where in

从id所在的表名称中选择*(函数名称)确保函数名返回带有一列的查询。函数名最重要的一点是返回的内容,如值或查询等

工具:在
WHERE
子句中使用函数是一种糟糕的做法,因为它由于索引使用减少而性能不佳。除非您打算
选择。。。其中col=function()
?函数看起来像下面的“SELECT function_NAME('columnname','a');”将返回“columnname like('%a%')”);函数看起来像下面的“SELECT function_NAME('columnname','a');”将返回“columnname like('%a%')”),因此它将返回像查询。。。但不是为我工作。在准备好的语句中,它可以正常工作,但在直接查询的情况下。尝试使用
callfunction\u name(('columnname','a');
我尝试了“SELECT*FROM TABLE\u name WHERE call function\u name('columnname','a');”,但它似乎不起作用。不,尝试以下操作:
设置@a:=function\u name();选择*FROM TABLE\u name WHERE@a
(条件)嗯……我尝试了这个……但查询并没有返回结果。我只是想澄清一下——我并没有使用存储过程来实现它。我想在我们使用的查询窗口中实现这一点。