标签: case

我可以在WHILE循环中使用CASE语句吗?

这就是我正在做的事情:

while (@counter < 3 and @newBalance >0)
begin   
CASE
when  @counter = 1 then  ( @monFee1 = @monthlyFee, @newBalance = @newBalance-@fee)
when  @counter = 2 then  ( @monFee2 = @monthlyFee, @newBalance = @newBalance-@fee)
END
@counter = @counter +1
end
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

关键字"CASE"附近的语法不正确.

不知道为什么.请帮忙!

sql case while-loop

4
推荐指数
2
解决办法
3万
查看次数

如何在mssql中编写IF(expr1,expr2,expr3)

我的sql中有IF(expr1,expr2,expr3).

如何在MS SQL中完成它?

sql-server case

4
推荐指数
1
解决办法
740
查看次数

带有正则表达式的Javascript inoperant Switch Case

看起来javascript 开关案例不喜欢正则表达式作为一个案例,因为它适用于静态值,但我无法在case语句中使用正则表达式获得预期的答案.

您是否会确认js解释器的限制并提出解决方法(我的意思是不是if-then块套件)?

谢谢

示例(未给出预期答案,例如'case3'):

<script type="text/javascript">
var testme = "pwd_foo";
var response = false;
var reg = /^pwd.+/;

switch (testme) {
case 'pwd':
    response = 'case1';
    break;
case reg.test:
    response = 'case2';
    break;
case /^pwd.+/:
   response = 'case3';
   break;
default:
    response = 'do sthg else';
}

alert('reg test: ' + reg.test(testme)+'\nresponse:' + response);
</script>
Run Code Online (Sandbox Code Playgroud)

javascript regex case switch-statement

4
推荐指数
1
解决办法
5794
查看次数

如何在delphi中将一个字符从字符串转换为char

我有一个字符串,我想从中提取一个需要在Case语句中使用的字符.事物是Case唯一的Char取值而不是字符串值.那么如何将单个字符串字符转换为char?

delphi string case char delphi-xe2

4
推荐指数
1
解决办法
3万
查看次数

按月计算并将月份作为列

背景

我每月都有时间序列数据,我想对每个ID进行求和,按月分组,然后将月份名称作为列而不是行.

+----+------------+-------+-------+
| id | extra_info | month | value |
+----+------------+-------+-------+
| 1  | abc        | jan   | 10    |
| 1  | abc        | feb   | 20    |
| 2  | def        | jan   | 10    |
| 2  | def        | feb   | 5     |
| 1  | abc        | jan   | 15    |
| 3  | ghi        | mar   | 15    |
Run Code Online (Sandbox Code Playgroud)

期望的结果

+----+------------+-----+-----+-----+
| id | extra_info | jan | feb | mar …
Run Code Online (Sandbox Code Playgroud)

sql postgresql pivot case crosstab

4
推荐指数
2
解决办法
5693
查看次数

C/Arduino开关盒

我正在Arduino上编写代码(非常类似于C,我不知道,或者很少),我对switch/case语句有一点问题.

我需要我的Arduino来做这个或那个取决于电位计的值(0到1023).但是,我不知道如何判断它是"0到200"的情况.例如,我试过了

case 0..250:
  blablaSomeCode;
  break;
Run Code Online (Sandbox Code Playgroud)

等等......我怎么能这样做?

我真的不想写案例1案例2案例3 ......

c robot arduino case switch-statement

4
推荐指数
2
解决办法
1万
查看次数

SELECT CASE,COUNT(*)

我想选择已将某些内容标记为收藏的用户数,如果当前用户已"投票",则返回.我的桌子看起来像这样

CREATE TABLE IF NOT EXISTS `favorites` (
`user` int(11) NOT NULL DEFAULT '0',
`content` int(11) NOT NULL DEFAULT '0',
 PRIMARY KEY  (`user`,`content`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 ;
Run Code Online (Sandbox Code Playgroud)

假设我有3行包含

INSERT INTO `favorites` (`user`, `content`) VALUES
(11, 26977),
(22, 26977),
(33, 26977);
Run Code Online (Sandbox Code Playgroud)

用这个

SELECT COUNT(*), CASE
        WHEN user='22'
           THEN 1
           ELSE 0
   END as has_voted
FROM favorites WHERE content = '26977'
Run Code Online (Sandbox Code Playgroud)

我希望得到has_voted=1,COUNT(*)=3但是

我得到的has_voted=0COUNT(*)=3.这是为什么?怎么解决?

mysql sql select case max

4
推荐指数
2
解决办法
9965
查看次数

Verilog:案例结构中许多案例的语法更好

我在Verilog有一个大约95个案例的案例结构.

        case(address)
            5'd0: header_buffer[7:0] <= writedata;
            5'd1: header_buffer[15:8] <= writedata;
            5'd2: header_buffer[23:16] <= writedata;
            5'd3: header_buffer[31:24] <= writedata;
Run Code Online (Sandbox Code Playgroud)

如您所见,有一种非常可预测的模式.有没有更好的方法来编写这个,这样我就不必手动写出所有的情况,以便我可以将它扩展到任意大的大小,如100或200个案例?似乎某种类型的for循环语法非常有用.

syntax verilog case

4
推荐指数
1
解决办法
536
查看次数

MySQL-条件分组依据

我试图一起使用CASE和GROUP BY,仅在它们符合CASE标准时才有条件地过滤结果,如果不匹配,则返回结果,就好像没有指定GROUP BY标准一样。

这是我所拥有的简单模型:

es.id | es.acct_num | p.id | p.name
1001  | 4306-0      | 1569 | The High School
1002  | 4306-0      | 1569 | The High School
665   | 5906-7      | 981  | Rec Center
783   | 5906-7      | 1221 | The Gym
Run Code Online (Sandbox Code Playgroud)

这是我想看到的:

es.id | es.acct_num | p.id | p.name
1001  | 4306-0      | 1569 | The High School
1002  | 4306-0      | 1569 | The High School
0     | 5906-7      | 0    | MULTI-SITE
Run Code Online (Sandbox Code Playgroud)

由于es.acct_num 5906-7 …

mysql group-by case having

4
推荐指数
2
解决办法
2万
查看次数

switch语句,包含多个执行相同代码的情况

我有以下代码:

<?php

echo check('three');

function check($string) {
  switch($string) {
    case 'one' || 'two' : return 'one or two'; break;
    case 'three' || 'four' : return 'three or four'; break;
  }
}
Run Code Online (Sandbox Code Playgroud)

目前它输出:

one or two
Run Code Online (Sandbox Code Playgroud)

但显然我希望代码返回three or four.

那么为多个case语句返回相同代码的正确方法是什么?

php case switch-statement

4
推荐指数
2
解决办法
2628
查看次数