问题标签 [case-expression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
674 浏览

oracle - oracle 数据库版本的 switch case 表达式

我需要查询Oracle数据库上的补丁状态。从 Oracle 版本 12c 开始,视图 sys.REGISTRY$HISTORY 被视图 DBA_REGISTRY_SQLPATCH 取代。在像 11g 这样的旧版本上,视图 dba_registry_sqlpatch 不存在。以下查询在 oracle 版本 < 12c 上创建错误,因为视图 ​​dba_registry_sqlpatch 不存在。我需要构建一个在所有 oracle 数据库版本上运行的查询。我不能使用 PL/SQL。我认为应该用 case 表达式来解决。

11 天前修补的 Oracle 12c 数据库上的示例输出: DIFF : 11 DAYS ACTION=APPLY VERSION=12.1.0.2 DATE=20160429 ID=22809813 COMMENTS=WINDOWS DB BUNDLE PATCH 12.1.0.2.160419(64bit):22809813 PORT=IBMPC/ WIN_NT64-9.1.0

0 投票
2 回答
3977 浏览

mysql - MySQL - 存储过程 - 在案例语句中使用案例表达式?

我目前正在编写一个使用 case 语句来确定要运行哪些查询的存储过程。在我的一个查询中是一个 case 表达式,每次尝试保存更改后的过程时都会出现语法错误。如果没有那个 case 表达式,该过程将很好地保存,但一旦添加它就会失败。我知道表达式本身的语法是准确的,所以我想知道在 case 语句中是否允许使用 case 表达式。

例子:

任何帮助将不胜感激。是否可以在 case 语句中包含 case 表达式?如果是这样,它的格式是否不同?我怎样才能让它工作......?

谢谢!

0 投票
2 回答
418 浏览

mysql - 使用“重复键更新”子句时,案例表达式无法按预期工作

通过以下查询,我只想ConcurrentJobsMaxConcurrentJobs列中greater than or equal to的值是ConcurrentJobs正在更新的值时更新列。

但是上面的查询没有按预期工作。即使条件失败,它也会始终更新列2300中的值。concurrent jobs这可能是什么原因?查询在哪里失败?

0 投票
0 回答
1034 浏览

arrays - Bash case 语句 while 循环数组

我试图让一个脚本在从数组中读取时重新循环无效的 case 语句。这与问题非常相似: Bash case statement restart on invalid input 但我似乎无法使代码与我的数组一起工作。我知道我可能需要在这里某处的“while”语句,但我不知道它应该去哪里。这是我的原始代码:

我想出了一个解决方案,但它似乎不是很优雅。通过创建另一个函数,我可以调用该函数作为* ) echo "invalid option";;选择的一部分。

现在,只要选择了无效选项,该函数就会调用自身。有一个更好的方法吗?

0 投票
1 回答
423 浏览

sqlite - 如何在 SQLite 中的子查询中编写带有条件的 CASE 语句

Highschooler 表包含以下格式的数据:

高中生(身份证、姓名、年级)

Chinese: 有一个高中生,在某个年级有一个唯一的ID和一个给定的名字。

表中的样本数据为:

Likes 表包含以下格式的数据:

喜欢(ID1,ID2)

Chinese: ID1的学生喜欢ID2的学生。喜欢某人不一定是相互的,因此如果 (123, 456) 在 Likes 表中,则不能保证 (456, 123) 也存在。

Likes表中的样本数据如下:

现在我的问题是:

对于喜欢比自己小 2 或更多年级的人的每个学生,返回该学生的姓名和年级,以及他们喜欢的学生的姓名和年级。

为了实现这一点,我编写了以下查询,我可以在其中获取学生、liked_student 和他们的成绩的数据。我要做的是减去 Liked_student 和 Student 自己的成绩,如果成绩 >= 2,然后我输出学生的详细信息。这种检查成绩是我在失败的 CASE 语句中尝试做的。

当我执行内部查询时,子查询运行没有任何问题,这意味着我能够获取学生的所有详细信息。子查询结果如下:

它仅在 CASE 语句中给出错误

错误代码:1109。字段列表中的未知表“INTER1”

我怎样才能做到这一点?我已经尝试过 IF...THEN 但无法使其工作。

请帮忙。

0 投票
2 回答
83 浏览

sql - 在 SQL 中带有大小写的 stuff 语句中的参数数量无效

我必须从多个值的源插入单个列/行。我正在使用东西箱,我很接近,但我错过了预期的回报之一,所以我不确定我需要做什么来确保我得到我正在寻找的结果。

这是我的声明:

结果是 DDD

但是,我实际上有四行,所以我应该看到 DDDD

我怎样才能确保我不会删除我的第一次退货,如果那是它正在做的事情。当我尝试 0,1 时,它失败了。

任何建议都非常感谢,谢谢!(在 SQL Server 2012 中运行)

0 投票
2 回答
176 浏览

sql - 在sql中重写大小写

嗨,我正在尝试重写以下使用 CASE WHEN 的代码。我在想我可以改用解码或其他东西吗?

编码:

0 投票
1 回答
432 浏览

ruby - Ruby case 表达式意外关键字

我是红宝石的新手。我的过去是在 Java 中的。我正在尝试使用 switch case,在 Ruby 中显然被称为 case 表达式。我想接受用户输入,检查该输入以查看它是否包含某些字符,然后用其他字符替换这些字符。当我尝试运行这个简单的程序时,我得到了很多语法错误,但我不知道为什么。有人可以向我解释一下我是否错误地使用了这个语句,如果我什至可以在这种情况下使用 case 表达式?谢谢你。

以下是与行和语法错误相关的错误

rb.rb:9 : 语法错误,意外(arg,当 user_input.include 时需要关键字_then 或 ',' 或 ';' 或 '\n'?("s")

rb.rb:11:语法错误,意外的keyword_when,当user_input.include 时期望keyword_end?("ch") ^

rb.rb:13 : 语法错误,意外的keyword_when,当user_input == "" ^ 时期望keyword_end

rb.rb:15:语法错误,意外keyword_when,当user_input != "" ^ rb.rb:17:语法错误,意外keyword_else,期待keyword_end

rb.rb:21:语法错误,意外的keyword_end,期待输入结束

下面是固定代码感谢@Phlip

问题是我在 .include? 之后的空间,@Phlip 告诉我 Ruby 对空间敏感。我删除了空白区域并且它起作用了。之后我遇到了布尔值问题并修复了它。它现在按预期工作。

0 投票
1 回答
235 浏览

haskell - 如何理解 case 表达式?

这个例子非常直观。xs 有 3 种情况,分别是空列表、只有 1 个元素的列表和超过 1 个元素的列表。

但是我迷失在下面的代码中

我完全不知道代表i1什么a

0 投票
1 回答
2621 浏览

sql - 在 Oracle SQL 中使用 Case 表达式进行条件日期比较和赋值

我是该站点和 SQL 的新手。我需要一些关于案例表达的帮助。

要求如下:

我有一个表 T1 有两个日期列 - eff 和 disc;

第二个表 T2 有 2 个日期列 - on_date & off_date;

我正在尝试构建一个单例表达式,我可以在其中比较两个表的日期列并根据某些条件分配值。

条件是:

• 如果 T1.eff 和 T2.disc 日期设置为默认值,即 T1.eff=1/1/1970 和 T2.disc=1970

• 如果 T1.eff >T2.on_date 并且 T1.disc >T2.off_date

• 如果 T1.eff

• 如果 T1.eff T2.off_date

• 如果 T1.eff >T2.on_date 和 T1.disc

我开始写一个 Case 表达式,我被困在如何构建/编写块上;我需要将“eff”和“disc”日期作为一个条件进行比较,然后在单个案例表达式中将各自的值分配给“eff”和“disc”。

等等。

我不确定我们是否可以在单个案例表达式中获取/使用两列。

Oracle DB - 客户端版本:12.1.0.2.0

提前致谢!=> VPPG