[問題] 如何將WHERE裡的欄位名稱帶入自定義函數

看板Database (資料庫)作者 (red whale)時間6年前 (2018/01/11 03:45), 6年前編輯推噓1(101)
留言2則, 2人參與, 6年前最新討論串1/1
我使用MySQL。 今天假設有一資料表`test_table`如下: +---------+-------------+ + num + fruit  + +---------+-------------+ + 1  + apple + + 3  + banana + + 2  + cherry + + 6  + berry  + + 9  + orange + + 3  + pear  + + 2  + mango + + 2  + melon + +---------+-------------+ 並且創建了一個自定義函數`fu`: CREATE FUNCTION `fu`($num int) RETURNS int BEGIN  RETURN $num+5; END 假設我想要查詢num欄位加5等於7的水果有哪些, 該怎麼寫SELECT語句? 結果應該要是「cherry」、「mango」和「melon」 SELECT fruit FROM test_table WHERE fu(.....)=7 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.11.239 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1515613522.A.4F2.html ※ 編輯: red0whale (114.44.11.239), 01/11/2018 03:51:55

01/11 11:59, 6年前 , 1F
反向思考 WHERE num = 7-5 7跟5用變數替換
01/11 11:59, 1F

01/11 14:13, 6年前 , 2F
SELECT fruit FROM test_table WHERE fu(num) = 7
01/11 14:13, 2F
文章代碼(AID): #1QLcrIJo (Database)
文章代碼(AID): #1QLcrIJo (Database)