Mysql函数调用

2024-02-04

如果我多次调用一个函数,那么它会每次都执行还是只执行一次,然后多次使用该值? 例子:

 select my_function('filed'),my_function('filed')/field2, 
        (my_function('filed')*field1)/field3,
...... from my_table    where group by filed1;

我的问题是my_function('filed')将被执行一次,然后结果将被用于my_function('filed')/field2 and (my_function('filed')*field1)/field3或每次my_function('filed')将在系统级别调用并执行?


为什么不使用一个变量来捕获函数的值。 例如:

declare var_function (datatype(size)); // just to declare proper data type for your function

set var_function = my_function('filed');

select var_function, var_function/field2, 
        (var_function*field1)/field3,

....from my_table    where group by filed1;

在这种情况下,您将重用函数结果,而无需重复函数的过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql函数调用 的相关文章

随机推荐