gpt4 book ai didi

sqlite - 带有> =评估的SQLite CASE WHEN

转载 作者:行者123 更新时间:2023-12-03 18:32:28 27 4
gpt4 key购买 nike

我正在编写一个脚本,该脚本将为称为Agricola的棋盘游戏计算分数。以下查询有效:

SELECT
CASE $Fields WHEN 0 THEN -1
WHEN 1 THEN -1
WHEN 2 THEN 1
WHEN 3 THEN 2
WHEN 4 THEN 3
END
;


以下查询将不起作用:

SELECT
CASE $Fields WHEN 0 THEN -1
WHEN 1 THEN -1
WHEN 2 THEN 1
WHEN 3 THEN 2
WHEN 4 THEN 3
WHEN >= 5 THEN 4
END
;


我得到的基本上是一条消息,内容为“'> ='附近的错误:语法错误”。我如何在CASE语句中表示WHEN> = 5块?

最佳答案

如果使用CASE表达式的替代形式,则可以使用不等式:

SELECT
CASE WHEN $Fields = 0 THEN -1
WHEN $Fields = 1 THEN -1
WHEN $Fields = 2 THEN 1
WHEN $Fields = 3 THEN 2
WHEN $Fields = 4 THEN 3
WHEN $Fields >= 5 THEN 4
END;


如果要继续使用 CASE形式,此处的一种选择是将 $Fields >= 5大小写存储在 ELSE条件中。这将假定 $Fields永远不会为负。假设这样,您可以尝试:

SELECT
CASE $Fields WHEN 0 THEN -1
WHEN 1 THEN -1
WHEN 2 THEN 1
WHEN 3 THEN 2
WHEN 4 THEN 3
ELSE 4
END;

关于sqlite - 带有> =评估的SQLite CASE WHEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55575044/

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