问题标签 [case]

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 投票
3 回答
10129 浏览

java - 如何在 HQL 中使用 sql case 子句?

我真的需要关于这个的帮助。

这是代码片段:

但这会产生以下错误:


什么是正确的查询?我只是想从插入日期中减去 1 个月。

如果你能帮忙,请这样做..谢谢:)

0 投票
3 回答
2465 浏览

class - scala案例类问题

关于“::”案例类,我有两个问题。

:: 可以用作

它是如何工作的?意思是,Scala 用来将 List 实例与 :: case 类匹配的流程到底是什么?假设我有一个 MyClass 类,带有运算符 op,我可以创建一个名为 op 的案例类,我可以将其用作:

?

0 投票
1 回答
124 浏览

sql - SQL qn:- 案例表达式

我在表 a 中有数据,我想将其淬火并创建到另一个表 b 中。想知道如何做到这一点。我正在考虑做嵌套的 CASE 表达式。但这可行吗?

例如:-

表一:-

英格

-0.2 7888 99 90 9000 788 100 999 888

我想创建另一个表 b,这样做:-

选择 CASE WHEN S < 0 then (S+1/En-Eg)
ELSE (S-1/En-Eg)) END AS Z from a

我还想将 Z 与其他值进行比较:-

如果 z > 0 则为“好”,否则为“坏”

类似的东西,我也可以在表 b 内这样做吗?

0 投票
4 回答
67963 浏览

sql - 使用 count 和 case 语句的 SQL 查询

我需要找出有多少人在 3 个不同年份(2006 年、2007 年、2008 年)的 60 天内、120 天内、180 天内、180 天内提交了 (fil_dt) 纳税申报表

下面的陈述将给我所有年份,我需要计算每年和每种可能性..无论如何我可以在没有 2 个查询的情况下做到这一点?

我需要你的帮助非常感谢

0 投票
5 回答
18251 浏览

sql-server - T-SQL Where 子句案例语句优化(StoredProc 的可选参数)

我已经和这个斗争了一段时间了。我有一个存储过程,它接受 3 个用于过滤的参数。如果传入了特定值,我想对其进行过滤。如果传入-1,全部给我。

我已经尝试了以下两种方法:

第一种方式:

第二种方式:

我在某处读到第二种方法会短路,如果为真,则永远不会评估第二部分。我的 DBA 说它强制进行表扫描。我尚未对此进行验证,但在某些情况下似乎运行速度较慢。

该视图从中选择的主表有大约 150 万条记录,并且该视图继续连接大约 15 个其他表以收集大量其他信息。

这两种方法都很慢......从即时到任何地方都需要 2-40 秒,这在我的情况下是完全不可接受的。

有没有更好的方法不涉及将其分解为特定 vs -1 的每个单独案例?

任何帮助表示赞赏。谢谢。

0 投票
3 回答
4174 浏览

linq-to-sql - LINQ to SQL lambda exp。OrderBy,案例何时

在这方面需要你的帮助。

我正在尝试 OrderBy 首先回复日期时间(如果存在)。如果为空/null,则必须按主题日期时间排序。我最终得到了以下表达式,但它似乎不起作用:(

0 投票
1 回答
118 浏览

mysql - MySQL中可以有多少条件语句?

MySQL手册一个CASE语句(WHEN部分)可以包含一个statement_list。

确切地说是多少声明?我需要执行一个非常大的查询,我想对其进行参数化。然而,这也意味着我需要更改正在加入的表。我已经读到这不能使用 CASE 语句来完成,所以我正在寻找一种解决方案,不必为每个参数值重新创建存储过程......

更新 我尝试使用 CURSOR 解决它。我已经为我拥有的每个对象定义了一个 CURSOR。我想使用 IF-ELSE 语句来选择打开、循环和关闭哪个游标。但是我无法正确使用语法...

所有游标和变量(usb、obj、mm、stamp)都用不同的名称声明,但我已经缩短了它们以供阅读......

使用 CASE 语句可以做到这一点吗?

0 投票
2 回答
429 浏览

lisp - 为什么 parenscript 函数更改为全小写?

当我执行时使用 parenscript

它产生 javascript

请注意,selectionStart现在是selectionstart. 它丢失了大写的 S Start!我如何保留那个大写的S?

0 投票
2 回答
12719 浏览

mysql - 当前提条件为真时,MySQL CASE“Else Case When”正在执行——我错过了什么?

我有一个表,由于我们使用的第三方系统,有时会有重复的数据。由于模型使用 EAV 方法,因此无法以“正确”的方式对其进行过滤,因此我将数据聚合到视图中 - 我知道这是一个数据收集问题,但在显示端修复它比在显示端更容易通过这个系统并可能破坏现有的数据和表格。我需要检查两个字段之一以查看是否输入了一个或两个,但只选择一个(否则名称显示两次,如下所示:“John,John”而不仅仅是“John”)。这是我相关部分的代码:

如果同时输入了 fieldid 2 和 fieldid 35,我希望这只会返回 fieldid = 2 的值,而不是 fieldid = 35 的值,因为当原始 case when 为真时,Else 子句不应执行。但是它抓住了它,然后在 else 子句中仍然执行该案例?

如何修复此代码以给我 fieldid = 2 或 fieldid = 35,但避免将它们都通配在一起导致名称重复?

编辑

这是表结构:

它使用 EAV 结构,因此示例记录可能是:

fieldid 2 和 35 是自定义字段“First Name”(在单独的表中定义),fieldid 3 和 36 是“Last Name”。

这是我正在使用的完整视图:

该视图被用作 Ruby on Rails 应用程序的模型,因此我正在使用一些创造性的黑客手段来伪造 Rails 期望的“user_id”(我们在 Lists 表中使用一个数字 ID 命名字段 list.name当我们添加一个新用户时,我们的前端 Rails 应用程序会生成,所以我只提取这个数字以使视图看起来像一个 Rails 约定数据库表)

0 投票
1 回答
412 浏览

sql - 我想根据规则有一个 SQL 计算列

我希望能够在一个列中存储一个十进制值,并在另一列中存储一个表示选项的 int (将解释):

  1. 应该是基数-%
  2. 应该是 base -absolute
  3. 应该是基础 +%
  4. 应该是基础+绝对
  5. 1 & 2 是折扣
  6. 3 & 4 是附加费
  7. 1 & 3 按百分比减少/增加金额(即金额 * 金额/值)。
  8. 2 & 4 绝对减少/增加数量(即数量 +/- 值)。

意思是我有一个包含 3 列的表:

  • 基本价格货币
  • 附加价格小数
  • 选项 tinyint

  • ComputedColumn(十进制?)

假设我们有一排 BasePrice 是 100 而 AdditionalPrice 是 0.20

根据选项计算的 col 应该生成以下值:

  • 80
  • 99.80
  • 120
  • 100.20

我清楚了吗?有什么办法可以做到这一点?