当我尝试使用case语句时,我收到错误请在SQL Query中是新手,任何人都知道我错在哪里
在预期条件的上下文中指定的非布尔类型的表达式,靠近'和'。
答案 0 :(得分:0)
您可能想要(检查行中是否所有列都为真):
SELECT
case when (
SIGN(Orcale) * SIGN(Sqlserver) * SIGN(GeoDatabase) * SIGN(Shapefile) *
SIGN(Cadfile) * SIGN(Excel) *SIGN(Word) * SIGN(OtherType)) = 1 then 'u'
ELSE 'Re'
end
FROM tab;
<强> DBFiddle Demo 强>
答案 1 :(得分:0)
假设在所有列都为真的情况下,而不是lad2025的答案,您想知道任何列是否为真,这将有效。
SELECT
CASE
WHEN
(Oracle + Sqlserver + GeoDatabase + Shapefile + Cadfile + Excel + Word + OtherType) = 0
THEN 'u'
ELSE 'Re'
END;