0
我想寫小選擇這樣的使用MySQL變量WHERE子句中
select t.id,func(t.name) from table t where func(t.name)>0
,但我想調用函數func
只有一次
任何人可以幫助我嗎?
我想寫小選擇這樣的使用MySQL變量WHERE子句中
select t.id,func(t.name) from table t where func(t.name)>0
,但我想調用函數func
只有一次
任何人可以幫助我嗎?
使用HAVING
:
SELECT t.id, func(t.name) AS f
FROM Table AS t
HAVING f > 0
您可以創建功能確定性,應允許MySQL來緩存結果。 – andy 2014-09-20 19:07:34
優化器將消除常見的子表達式。僅僅因爲你兩次寫一個函數並不意味着它會被調用兩次。 – gexicide 2014-09-20 19:08:37