作者red0whale (red whale)
看板Database
标题[问题] 如何将WHERE里的栏位名称带入自定义函数
时间Thu Jan 11 03:45:20 2018
我使用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://webptt.com/cn.aspx?n=bbs/Database/M.1515613522.A.4F2.html
※ 编辑: red0whale (114.44.11.239), 01/11/2018 03:51:55
1F:→ streetbad: 反向思考 WHERE num = 7-5 7跟5用变数替换 01/11 11:59
2F:推 cutekid: SELECT fruit FROM test_table WHERE fu(num) = 7 01/11 14:13