gpt4 book ai didi

sql - 带有忽略条件的案例陈述postgres 9.3

转载 作者:行者123 更新时间:2023-11-29 12:02:17 25 4
gpt4 key购买 nike

在我的应用程序中,以下缩写允许我输入一个值并在应用程序中选择其类型,例如

:input 

在这种情况下我创建了一个变量

:Lang1 as a varchar

我有以下代码,使用 case 语句简单地询问数组中有多少人说一种特定语言

我想知道有多少学生知道数组中的一种语言,并检查输入字段中是否有值

(Case When Length(:Lang1)>4    --I'm assuming any language has more than 4 letters
then languages[1] = :Lang1 --When this condition statement is true then I get the children
--and the number of children speaking the entered language as a 1st language
else (ignore condition) end) --Simply trying to ignore the else side of the condition

我试过这段代码

(Case When Length(:Lang1)>4 then languages[1] = :Language 
else cast(:Lang1 as varchar(20)) end)

错误:无法匹配 CASE 类型的字符变化和 bool 值

和这段代码

(Case When Length(:Lang1)>4 then languages[1] = :Language 
end)

产生了一堆 0 0 0

这篇文章与其前任相关 Part 2: how to get the Sum of a partition based query without actually pivoting并放置在以下区域

JOIN schoollevel sl ON sl.id = p.schoollevelid
GROUP BY s.studentnumber, p.firstname
) t
Where (Case When Length(:Lang1)>4 then languages[1] = :Lang1
else cast(:Lang1 as varchar(20)) end)
)
select *

最佳答案

case 表达式返回一个值,而不是可用作条件的语法片段。您可以改为使用 逻辑运算符来创建此逻辑:

WHERE LENGTH(:Lang1) <= 4 OR languages[1] = :Lang1

关于sql - 带有忽略条件的案例陈述postgres 9.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51077846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com