我想知道是否可以做这样的事情(这不起作用):
selectcast((exists(select * from theTable where theColumn like 'theValue%') as bit)
看起来应该是可行的,但是很多应该在 SQL 中工作的东西却不能;)我已经看到了这个问题的解决方法(SELECT 1 where...Exists...),但似乎我应该这样做能够将存在函数的结果转换为一点并用它来完成。
最佳答案
不,您必须使用解决方法。
如果必须返回条件位 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
关于sql - 是否可以直接选择 EXISTS 作为位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2759756/