我有一个课程代码名称COMP2221。
我还有一个函数finder(int)
,可以找到符合特定模式的所有代码。
像:
select * from finder(20004)
会给:
comp2211
comp2311
comp2411
comp2221
匹配模式comp2###
。
我的问题是如何表达" comp2221是否在finder(20004)"整洁的方式?
答案 0 :(得分:1)
如何以整洁的方式表达“comp2221是否在finder(20004)中”?
使用EXISTS
表达式并将测试放入WHERE
子句:
SELECT EXISTS (SELECT FROM finder(20004) AS t(code) WHERE code = 'comp2221');
返回单个TRUE
或FALSE
。永远不会为NULL且永远不会超过一行 - 即使您的表函数finder()
返回重复项。
或者派遣函数finder()
直接集成测试。可能更快。