标签: case

VHDL案例/时:多个案例,单个子句

在一个过程中,我有这样的事情:

CASE res IS
  WHEN "00" => Y <= A;
  WHEN "01" => Y <= A;
  WHEN "10" => Y <= B;
  WHEN "11" => Y <= C;
  WHEN OTHERS => Y <= 'X';
END CASE;
Run Code Online (Sandbox Code Playgroud)

注意这种情况"00""01"获得相同的值.是否有类似的正确语法

WHEN "00", "01" =>

额外注意:除了改变Y之外,还有更多内容,我只是为了简单起见而使用它.所以案例/何时是必要的.

case vhdl

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

为什么"final static int"可以用作switch的case常量而不是"final static <your enum>"

为什么这个int开关有效:


public class Foo {
    private final static int ONE = 1;
    private final static int TWO = 2;

    public static void main(String[] args) {
        int value = 1;
        switch (value) {
            case ONE: break;
            case TWO: break;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

虽然这个枚举开关不是:


import java.lang.annotation.RetentionPolicy;

public class Foo {
    private final static RetentionPolicy RT = RetentionPolicy.RUNTIME;
    private final static RetentionPolicy SRC = RetentionPolicy.SOURCE;

    public static void main(String[] args) {
        RetentionPolicy value = RetentionPolicy.RUNTIME;
        switch (value) {
            case RT: break;
            case SRC: …
Run Code Online (Sandbox Code Playgroud)

java enums constants case switch-statement

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

SQL Server - 案例陈述

我几乎可以肯定你不能在case语句的上下文中做到这一点,我也找不到任何关于它的文档,但是可以做到以下几点:

SELECT CASE WHEN testValue > 2 
THEN testValue(Without Repeating it) ELSE FailValue)
END 
FROM Table 
Run Code Online (Sandbox Code Playgroud)

一个更好的更彻底的例子:

Select CASE WHEN (Foo-stuff+bar) > 2 
THEN Conditional statement without >2 Else "Fail"
END 
FROM TABLE
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来创建一个选择而不重复条件查询.

编辑:由于我的一个不好的例子,我一直在寻找缺乏答案:

testValue = (Table.A / Table.B) * Table.C Table.D

SELECT CASE WHEN testValue > 2 
THEN testValue ELSE FailValue)
END 
FROM Table 
Run Code Online (Sandbox Code Playgroud)

sql sql-server syntax case

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

SQL在WHERE IN子句中使用CASE语句

where子句中使用case是否可行?像这样的东西:

 DECLARE @Status VARCHAR(50);
 SET @Status='published';

 SELECT * FROM Product P    
 WHERE P.Status IN (CASE WHEN @Status='published' THEN (1,3)
                                   WHEN @Status='standby' THEN (2,5,9,6)
                                   WHEN @Status='deleted' THEN (4,5,8,10)
                                   ELSE (1,3)
                                   END)
Run Code Online (Sandbox Code Playgroud)

此代码提供错误:','附近的语法不正确.

sql select case switch-statement where-in

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

CASE语句中WHEN子句的执行顺序

给出以下案例陈述:

1    WHEN r.code= '00'                        then 'A1'
2    WHEN r.code ='01' AND r.source = 'PXWeb' then 'A2'   <
3    WHEN r.code ='0120'                      then 'A3'
4    WHEN r.code ='01'                        then 'A4'   <
5    WHEN r.code ='1560'                      then 'A5'
6    WHEN r.code ='1530'                      then 'A6'
7    WHEN r.code ='1550'                      then 'A7'
Run Code Online (Sandbox Code Playgroud)

我假设第2行总是在第4行之前执行?然后我读了一些语句,比如' SQL是一种声明性语言,这意味着它告诉SQL引擎要做什么,而不是如何进行

SQL查询的执行顺序

并想知道这是否也与CASE声明中的执行顺序有关.基本上,我可以保留上面的代码,而不必将第4行更改为

4    WHEN r.code ='01' AND r.source != 'PXWeb' then 'A4'   
Run Code Online (Sandbox Code Playgroud)

sql sybase case case-when

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

ruby - 在case语句中使用include方法

我正在使用这样的东西:

case referer
      when (referer.include? "some_string")
        redirect_link = edit_product_path
      when (referer.include? "some_other_string")
        redirect_link = other_product_path
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,即使字符串some_string存在于变量中,它也会返回nil referer.

这是我在Ruby控制台中尝试的内容:

ruby-1.8.7-p334 :006 > jasdeep = "RAILS"
ruby-1.8.7-p334 :026 > case jasdeep
ruby-1.8.7-p334 :027?>   when (jasdeep.include? "AI")
ruby-1.8.7-p334 :028?>   puts "Hello"
ruby-1.8.7-p334 :029?> end
=> nil
Run Code Online (Sandbox Code Playgroud)

任何输入将不胜感激.

ruby ruby-on-rails case switch-statement

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

如何模式匹配具有多个参数列表的类?

考虑这个课程:

class DateTime(year: Int, month: Int, day: Int)(hour: Int, minute: Int, second: Int)
Run Code Online (Sandbox Code Playgroud)

unapply方法将如何,如果我想匹配以下内容:

dt match {
  case DateTime(2012, 12, 12)(12, _, _) => // December 12th 2012, 12 o'clock
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

我试过这个:

def unapply(dt: DateTime) = 
  Some((dt.year, dt.month, dt.day),(dt.hour, dt.minute, dt.second))
Run Code Online (Sandbox Code Playgroud)

但这并没有真正起作用.

scala class case pattern-matching unapply

19
推荐指数
2
解决办法
3236
查看次数

CASERE在WHERE,SQL Server中

我正在做一些搜索,用户在下拉菜单中选择一些条款.当他们将一些框留空时,我想查询忽略子句.我知道CASE,我最好的想法是,如果我将0传递给存储过程中的参数,它会忽略该参数,就像这样.

WHERE a.Country = (CASE WHEN @Country > 0 THEN @Country ELSE (something else) END)
Run Code Online (Sandbox Code Playgroud)

所以,(别的东西)应该没有条件,它可以是'> 0',因为国家ID来自所有> 1,但我不知道如何在同一个CASE中使用>和=.

有什么建议?

sql sql-server case where

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

PHP:默认情况下切换?

switch ($var) {
    case 0:
        // Do something...
        break;
    case 1:
        // Do something...
        break;
    default:
        // Do something...
        break;
}
Run Code Online (Sandbox Code Playgroud)

我见过有些人在默认情况下使用break.由于默认情况是触发时执行的最后一种情况,是否需要在那里休息?我猜它只是出于常规做法,还是有另一个原因?

php case break switch-statement

19
推荐指数
1
解决办法
9571
查看次数

SQL Server:使用CASE和LIKE

我对SQL很陌生,希望有人可以帮助我.

我有一个存储过程,我想根据列是否包含某个国家/地区来传递不同的值.

到目前为止,我只CASE在检查具有特定数字或值的匹配时使用,所以我不确定这个.有人可以告诉我以下是否有效和正确或让我知道如何正确地写这个(只是关于括号中的部分)?

(CASE countries
     WHEN LIKE '%'+@selCountry+'%' THEN 'national'
     ELSE 'regional') AS validity
Run Code Online (Sandbox Code Playgroud)

注意: @selCountry是国家/地区的变量名称,国家/地区可以为空,一个国家或多个国家/地区以逗号和空格分隔.基本上我只想检查国家是否包含@selCountry,如果是,则将有效性设置为"国家".

sql sql-server stored-procedures case sql-like

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