初学者问题:
我f(x, y)
在数据库表中的两列 x 和 y 上有一个昂贵的函数。
我想执行一个查询,该查询将函数的结果作为列提供给我并对其施加约束,例如
SELECT *, f(x, y) AS func FROM table_name WHERE func < 10;
Run Code Online (Sandbox Code Playgroud)
但是这不起作用,所以我将不得不写一些类似的东西
SELECT *, f(x, y) AS func FROM table_name WHERE f(x, y) < 10;
Run Code Online (Sandbox Code Playgroud)
这会运行两次昂贵的函数吗?做到这一点的最佳方法是什么?