0

我有一个课程代号 COMP2221。

我还有一个函数finder(int)可以找到与某个模式匹配的所有代码。

喜欢:

select * from finder(20004)

会给:

comp2211
comp2311
comp2411
comp2221

与模式匹配comp2###

我的问题是如何以简洁的方式表达“comp2221是否在finder(20004)中”?

4

1 回答 1

1

如何用简洁的方式表达“comp2221是否在finder(20004)中”?

使用EXISTS表达式并将测试放入WHERE子句中:

SELECT EXISTS (SELECT FROM finder(20004) AS t(code) WHERE code = 'comp2221');

返回单个TRUEor FALSE。从不为 NULL 并且从不超过一行 - 即使您的表函数finder()返回重复项。

或者fork函数finder()直接集成测试。可能更快。

于 2018-05-03T04:02:28.020 回答