问题标签 [select-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 投票
13 回答
228016 浏览

javascript - javascript:在switch case中使用条件

对不起这个愚蠢的问题。如何在 javascript switch-case 语言元素中为 case 使用条件?如下例所示,当变量liCount为 <=5 且 >0 时,大小写应该匹配;但是,我的代码不起作用:

感谢您的任何建议!

0 投票
3 回答
3176 浏览

sql - 没有行时选择 CASE/JOIN

抱歉,这个有点头疼。我将从示例开始:

表:

城镇国家

参考数据

如果我的查询是:

我得到:

但是,如果我将威尔士的代码更改为 A3,并保持查询相同,则结果不会返回任何行。

在威尔士为 A3 的示例中,我想要的结果是:

我试过 COALESCE:

但这没有返回任何行

我还尝试了选择案例、左右连接,但仍然没有行。

这是我的好朋友在讨论时给我的一个更简单的例子:

城市

我想回来

非常感谢任何帮助。

0 投票
2 回答
943 浏览

sql-server-2005 - SQL 局部变量

我使用 SQL Server 2005,我有这样的查询:

这工作正常。它在 [subject] 表中插入值,第一个值 [sch_id] 通过搜索的 CASE 语句从 [schedule] 表中获取。

我想避免代码冗余,因此我尝试将 SELECT 语句的结果存储在局部变量中,并使用 ISNULL 函数对其进行评估。看起来像这样:

但是我的代码不起作用。SQL Server 2005 说错误来自我使用局部变量 (@sched) 的行。我的查询有什么问题?

0 投票
3 回答
538 浏览

mysql - MySQL为具有等效数字的值范围创建函数

这个功能有什么问题。这是我的预期输出是

输出:我总是得到 10

0 投票
6 回答
23779 浏览

vb6 - 提早结束案件

所以我在 Vb6 中有如下内容;

但由于某种原因,我Exit Select抛出了错误Expected: Do or For or Sub or Function or Property。我知道,不漂亮。我应该使用别的东西吗?我可以只使用if语句而不是提前退出案例,但这需要重复的代码,我想避免这种情况。任何帮助将非常感激。

更新

尝试更改Exit SelectEnd Select并得到错误End Select without Select Case。它肯定在 aSelect Case和 a之内End Select

0 投票
1 回答
2883 浏览

vba - If-then / 为单元格引用中定义的日期范围选择案例

我为新手问题道歉,但尚未在线找到解决方案。我正在尝试对 VBA 中的日期范围做一个简单的 if-then 语句。到目前为止我的代码(不工作):

所有单元格的输出都是“日期范围之外”,这意味着它为 rngData 中的所有单元格选择了“else”值,这是不正确的。

“Some_dates”工作表中的单元格 O8:P11 定义了四个日期范围(开始是 O 列,结束是 P 列)。这些日期可能看起来像数字或日期,具体取决于您格式化单元格的方式。“Some_dates”工作表中的 N 列包含每个日期范围的标签。

任何帮助表示赞赏!

0 投票
4 回答
193 浏览

vb6 - 有没有更好的方法来编写以下 VB6 片段?

我在 $COMPANY 工作,我正在帮助维护 $LEGACY_APPLICATION。它是用visual basic 6编写的。

由于缺乏 VB6 在 if 语句中执行短路评估的能力(这将大大简化这一点),我面临着做一个令人不快的复杂嵌套 if 语句。我试过AndAlso,但无济于事。必须是 VB6 之后添加的功能。

SO 某处的一些天才指出,如果你有耐心,你可以欺骗 select case 语句使其像短路 if 语句一样工作,所以我尝试了,这就是我想出的:

这肯定有点不寻常,我不得不使用我的奇妙白板(顺便说一句,它几乎是除了计算机之外最有用的编程资源)来确保我正确映射了所有语句。

这就是那里发生的事情:我有一个昂贵的操作,如果可能的话,我想避免重复。lastSelected 是对最近传递给此计算的值的持久引用。item 是刚刚从 GUI 接收到的参数。如果之前从未调用过该程序,lastSelected 以 Nothing 开始。item 也可以是 Nothing。此外,如果 lastSelected 和 item 相同,则跳过计算。

如果我用 C++ 写这个,我会写:

然而,我不是。

问题

我怎样才能重写这个看起来更好,更有意义?对回答“是,原因如下:X、Y、Z”或“否,原因如下:X、Y、Z”的答案将获得支持。

编辑

修复了 C++ 语句以匹配 VB6 语句(它们应该是等效的)

0 投票
2 回答
5708 浏览

string - InStr 找不到子字符串

我有以下代码:

在 F:FI 列中,按顺序排列如下:"Marc Jacobs", "", "Renolds, Bob"InStr 未找到任何正确的 case 语句。

  1. 对于“Marc Jacobs”,我接到 Case Else 电话(正确电话)
  2. 对于“”,我得到了找到的消息(应该是空消息)
  3. 对于“Renolds,Bob”,我收到 Case Else 电话(应该收到找到的消息)

这里发生了什么?

0 投票
3 回答
154 浏览

sql - SQL 加入 2 个共享列的查询

我有 2 个 SQL 查询共享一个名为catalogid

查询 #1:

查询 #2:

您如何将这 2 个查询合并为一个查询或加入它们?

SqlCommand注意我从 vb.net运行那些 2

需要注意的一件事是我对两个查询都有相同的条件,我尝试做的是将第二个查询部分添加到未解决的选择案例中

这是涉及的表格

项目表

订单表

查询 #1 的结果:

查询 #2 的结果:

想要的结果:

Query1 的条件:

  1. 如果ocardtype为空,则忽略numitems并将其视为0总和并将忽略的项目加到ignoreditems列中

  2. 如果某些订单的 ocardtype 是 MasterCard 或 Visa 并且 odate 为空,则忽略 numitems 并将其视为 0 并将忽略的项目加到ignoreditems列中

  3. 如果ocardtype是 Paypal 或 Sofort,那么只需计算numitems总和而不检查日期,因为这些类型不需要odate

Query2 的条件与 Query1 相同,但要做的事情不同:

  1. 如果ocardtype为空,则添加orderidNotProcessed

  2. 如果ocardtype某些订单是万事达卡或维萨卡并且odate是空的,则添加orderidNotProcessed

  3. 如果ocardtype是 Paypal 或 Sofort,则不要检查odate并将其添加orderidProcessedSucssessfully

上述事情是在 2 个单独的查询中完成的,但我试图将其纳入一个查询,因为它们具有相同的条件

0 投票
3 回答
14682 浏览

sql - SQL检查id为= 333的字段的数值是否为0

在 SQL SELECT CASE STATEMENT 中,我将如何检查 sometable 中某个 coulmn 的值是否等于 0,其中 id 等于某个值?