我有一个课程代号 COMP2221。
我还有一个函数finder(int)
可以找到与某个模式匹配的所有代码。
喜欢:
select * from finder(20004)
会给:
comp2211
comp2311
comp2411
comp2221
与模式匹配comp2###
。
我的问题是如何以简洁的方式表达“comp2221是否在finder(20004)中”?
我有一个课程代号 COMP2221。
我还有一个函数finder(int)
可以找到与某个模式匹配的所有代码。
喜欢:
select * from finder(20004)
会给:
comp2211
comp2311
comp2411
comp2221
与模式匹配comp2###
。
我的问题是如何以简洁的方式表达“comp2221是否在finder(20004)中”?
如何用简洁的方式表达“comp2221是否在finder(20004)中”?
使用EXISTS
表达式并将测试放入WHERE
子句中:
SELECT EXISTS (SELECT FROM finder(20004) AS t(code) WHERE code = 'comp2221');
返回单个TRUE
or FALSE
。从不为 NULL 并且从不超过一行 - 即使您的表函数finder()
返回重复项。
或者fork函数finder()
直接集成测试。可能更快。