问题标签 [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 回答
165 浏览

sql - 在 SQL Server 2005 中查询某些 XML 值

我正在尝试在 SQL Server 2005 中查询 XML 列

我有一个非常长的字符串,它存储在一个列中,它是 XML。我想检查某个项目的可见性是否设置为 true。

关于如何做到这一点的任何想法?

我无法发布包含所有 XML 的字符串,因为此堆栈编辑器不喜欢该代码。

谢谢

我附上了一张显示我的选择语句和结果的图片,您可以从案例表达式中看到我正在尝试做什么。

在此处输入图像描述

问题是设置列显示了列的名称,但我想看看该列的可见性(colFirstChoiceVendorPaymentTerms)是否设置为真......

0 投票
6 回答
808 浏览

haskell - 如果可以使用“方程式”,为什么还要使用 case 表达式?

我正在从“Real World Haskell”一书中学习 Haskell。在第 66 和 67 页中,他们用这个例子展示了 case 表达式:

我记得 F# 中也有类似的东西,但是(如本书前面所述)Haskell 可以将函数定义为一系列方程;而AFAIK,F Sharp不能。所以我试图以这样的方式定义它:

我将它加载到 GHCi 中,经过几个结果后,我确信它是一样的但是;这让我想知道,为什么在等式时应该有 case 表达式:

  • 更容易理解(这是数学;为什么要使用case something of,谁说的?);
  • 不那么冗长(2 对 4 行);
  • 需要更少的结构化和语法糖(->可以是运算符,看看他们做了什么!);
  • 仅在需要时使用变量(在基本情况下,例如这wrapped只是占用空间)。

case 表达式有什么好处?它们的存在仅仅是因为类似的基于 FP 的语言(例如 F#)拥有它们吗?我错过了什么吗?

编辑:

我从@freyrs 的回答中看到编译器使它们完全相同。因此,方程总是可以转换为 case 表达式(如预期的那样)。我的下一个问题是相反的;可以走编译器的相反路线并使用带有let/where表达式的方程式来表达任何 case 表达式吗?

0 投票
1 回答
1111 浏览

sql - 案例表达式在 Postgres 查询中不返回“else”值

我正在创建一个包含大量嵌套查询的 SQL 查询,并且我正在尝试使用 CASE 表达式,但它的行为很奇怪。

这是我目前的查询:

我遇到问题的一点是,当我根据“minutes_played”进行案例陈述以查看其中一名球员(队长)是否没有上场时:

当 minutes_played 确实大于 0 时,一切正常。但是,当它等于 0 时,它不会“返回”任何东西,并且我在行中得到一个 NULL 作为回报。minutes_played 是一个整数,当我在 player_fixtures 上尝试以下脚本时,minutes_played = 0 我的 > 评估有效,我得到正确的“BAD”。

我在整个数据库方面都很陌生,所以我可能犯了一个菜鸟错误,但过去 6 小时我一直在尝试,但没有任何运气。有人能指出我正确的方向吗?

0 投票
1 回答
102 浏览

sql - 在 SQL 语句中分组?

我在 SQL 中有一个查询,我在其中显示一个人是否有付款或未结费用。在这个查询中,我有一个案例语句,但我需要将记录组合​​在一起以确保将付款添加在一起,以便我检查的内容是正确的。

让我展示一下代码,希望这会更有意义。

这是我目前正在使用的查询:

这是返回并插入到@tmpTable 中的记录集:

现在我的问题是,当没有欠款时,我显示的是 108 号投标所欠的余额。这两个记录反映了对余额进行的两次付款,当两者合计时,它们等于余额。我需要向用户显示每笔付款,但是当付款等于总购买金额时,则不需要显示所欠余额。但是,如果存在平衡,则需要显示出来。(信用卡付款不同......我遇到的问题是非 CC 付款)

有没有办法在 case 语句中进行分组,或者我缺少的 sql 中有什么东西可以让我需要发生的事情?

我提前感谢您的帮助。

0 投票
3 回答
1210 浏览

mysql - 存储过程中的案例语句 - 未知系统变量

我正在尝试使用 case 语句根据另一列的值更新一列。我在 MySQL 中名为“rma”的表如下:

这是我的存储过程:

当我尝试保存以创建过程时,我收到错误 #1193 - Unknown system variable 'ref_status_id'。

谁能帮我确定我的存储过程可能有什么问题?

0 投票
2 回答
102 浏览

sql - where 子句中的 sql 大小写

我在 SSRS 有一份报告,其中一个参数是基于一个人是否参加了面试、未能参加或没有当前反馈。

SQL如下:

问题在于最终的 AND 条件。根据@Attended我希望在查询中使用不同的列值的值。

我知道我可以在存储过程中动态地做到这一点,但我被要求编写一些将在 SSRS 中包含所有 SQL 的东西。我只是想确保在我推回之前我已经用尽了我的选择。

提前感谢您的时间和帮助。

0 投票
2 回答
28 浏览

sql-server - 为什么 SQL Server 不能正确处理代码?

这是我的代码:

我不知道上面的代码有什么问题。它没有得到正确执行。

它显示了这样的结果。

消息 102,级别 15,状态 1,第 3 行
'<' 附近的语法不正确。

我可以知道我犯了什么错误,以及如何克服它吗?

0 投票
0 回答
3687 浏览

querydsl - 如何在查询 dsl 中编写此案例语句

我有一个相当直截了当的 case 语句要写在 querydsl 中:

列 >= 1 且列 < 31 然后 1 否则 0 结束的情况

我尝试了以下方法:

麻烦的是,这个表达式被解释为:

有没有办法避免指定 when 子句或将 goe 和 lt 表达式放在 when 子句中?

顺便说一句,直接指定数字似乎不适用于 case 表达式。需要使用 Expressions.numberTemplate

0 投票
2 回答
97 浏览

oracle - 案例表达式抛出异常

考虑以下代码:

上面的语句抛出错误为:

我的表名是V_TEST,列名是FLAGS。我在这里做错了什么?

0 投票
3 回答
1370 浏览

sql-server - CASE SUM(total_of_A) WHEN 0 THEN 0 ELSE SUM(B) / SUM(total_of_A) END 是什么意思

试图理解CASE(Transact-SQL)表达式,但结果很混乱。任何人都可以用简单的话解释以下陈述吗?

阅读了以下内容,但并没有消除混乱