SQL Server Exists
函数作为一种类型返回什么?
Exists
是否有概念性的返回类型?
SELECT *
FROM tableName
WHERE EXISTS (SELECT *
FROM tableName
WHERE columnName LIKE 'theValue%') = 1
为什么这不起作用?
答案 0 :(得分:6)
结果类型
布尔
它的返回类型为boolean,但这只是一个内部数据类型,目前您无法声明该数据类型的列或变量。
或者在比较中使用它 - 甚至与另一个布尔值相对应。
from rest_framework import viewsets
from myapp.models import SomeModel
from myapp.api.v1.serializers import SomeModelSerializer
class SomeModelViewSet(viewsets.ModelViewSet):
serializer_class = SomeModelSerializer
queryset = SomeModel.objects.prefetch_related(
'related_table1',
'related_table1__related_table2',
'related_table3',
)
也失败了。
SQL Server尚未实现SQL Standard布尔数据类型 - 最接近的等价物是where exists(select 1) = exists(select 1)
,但这不是真正的布尔值。
答案 1 :(得分:2)
Exists指定一个子查询来测试行是否存在并返回boolean(如果存在任何行,则返回True,否则返回false)。 Microsoft docs 所以你的代码应该是
/i
这将返回表格' tableName'中的所有行 IF 任何一行都有' columnName'作为' theValue%' ELSE 不会返回任何行。