小编典典

可以直接选择 EXISTS 吗?

all

我想知道是否可以做这样的事情(这不起作用):

select cast( (exists(select * from theTable where theColumn like 'theValue%') as bit)

似乎它应该是可行的,但是很多应该在 SQL 中工作的东西都没有;)我已经看到了解决方法(SELECT 1 where…
Exists…),但似乎我应该能够将exists函数的结果转换为一点并完成它。


阅读 58

收藏
2022-06-23

共1个答案

小编典典

不,您必须使用解决方法。

如果您必须返回条件位 0/1,另一种方法是:

SELECT CAST(
   CASE WHEN EXISTS(SELECT * FROM theTable where theColumn like 'theValue%') THEN 1 
   ELSE 0 
   END 
AS BIT)

或者没有演员表:

SELECT
   CASE
       WHEN EXISTS( SELECT 1 FROM theTable WHERE theColumn LIKE 'theValue%' )
            THEN 1 
       ELSE 0 
   END
2022-06-23