标签: case

SQL中没有表达式CASE的多个WHEN?

    DECLARE @TestVal int
SET @TestVal = 5

SELECT
    CASE
        WHEN @TestVal <=3 THEN 'Top 3'
        ELSE 'Other'
    END
Run Code Online (Sandbox Code Playgroud)

我在网上看到了这个示例代码,但我找不到一个没有表达式的示例,并且它有多个WHEN,所以我想知道这种类型的东西是否正常:

    DECLARE @TestVal int
SET @TestVal = 5

SELECT
    CASE
        WHEN @TestVal <=3 THEN 'Top 3'
                WHEN (select ...) = 1 THEN 'Other Value'
                WHEN (select ...) = 2 THEN 'Other Value 2'
        ELSE 'Other'
    END
Run Code Online (Sandbox Code Playgroud)

或者我是否需要为每一行说CASE WHEN?

sql case

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

枚举和开关案例

嗨我使用转换为带开关的字符串的枚举,但它不起作用.它给出了编译错误:无法将类型'userControl_commontop.UserType'隐式转换为'string'

代码是:

private void CommonTopChangesnew(string usertype)
{

    switch (usertype.Trim().ToUpper())
    {
        case UserType.NORMAL :
            hlkSAD.Enabled = false;
            hlkMRTQuery.Enabled = false;
            hlkReqViewer.Enabled = false;
            hlkSendnotif.Enabled = false;
            break;
        case UserType.POWER :
            hlkSAD.Enabled = false;
            hlkReqViewer.Enabled = false;
            hlkSendnotif.Enabled = false;
            break;
    }
}

enum UserType
{
    NORMAL,
    POWER,
    ADMINISTRATOR
}
Run Code Online (Sandbox Code Playgroud)

asp.net enums case switch-statement

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

关于Null vs zero的问题

我有这个功能:

void ToUpper(char * S)
{
    while (*S!=0)
    {
       *S=(*S >= 'a' && *S <= 'z')?(*S-'a'+'A'):*S;
       S++;
    }
} 
Run Code Online (Sandbox Code Playgroud)

*S!= 0是什么意思,它应该是null吗?

c++ string case

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

在WHERE子句中使用CASE表达式中的"结果表达式"

是否可以通过使用子句中CASE表达式的结果表达式(weight_class)来过滤SQL Server中的记录WHERE?我无法让它工作,因为我收到一个错误说:

列名称'weight_class'无效

码:

SELECT 
    first_name, last_name, 
    weight_class = CASE
                      WHEN weight < 172 THEN 'Welterweight'
                      WHEN weight <= 192 THEN 'Middleweight'
                      WHEN weight <= 214 THEN 'Light heavyweight'
                      WHEN weight <= 220 THEN 'Cruiserweight'
                      ELSE 'Heavyweight'
                   END
FROM 
    athletes
Run Code Online (Sandbox Code Playgroud)

这就是我想要做的:

SELECT 
    first_name, last_name, 
    weight_class = CASE
                      WHEN weight < 172 THEN 'Welterweight'
                      WHEN weight <= 192 THEN 'Middleweight'
                      WHEN weight <= 214 THEN 'Light heavyweight'
                      WHEN weight <= 220 THEN 'Cruiserweight'
                      ELSE 'Heavyweight'
                   END
FROM …
Run Code Online (Sandbox Code Playgroud)

sql sql-server case where

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

SQL case语句在where子句中指定条件?

我有以下查询:

    SELECT * 
FROM dbo.tblOrders o
WHERE o.OrderId IN (SELECT [Value] FROM [dbo].[udf_GenerateVarcharTableFromStringList](@OrderId, ','))
AND
@ActiveInactive =
CASE 
WHEN 'Active' THEN (o.[orderactivedate] > o.[orderinactivedate])
WHEN 'Inactive' THEN (o.[orderactivedate] < o.[orderinactivedate]) 
END
Run Code Online (Sandbox Code Playgroud)

这回来了

An expression of non-boolean type specified in a context where a condition is expected, near 'THEN'.
Run Code Online (Sandbox Code Playgroud)

我怎么能让这个工作?如果参数为"活动",则返回具有以下条件的记录?

sql t-sql sql-server case

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

选择案例

请考虑 :

Subsets[Flatten[ParallelTable[{i, j}, {i, 1, 96}, {j, 1, 4}], 1], {4}]
Run Code Online (Sandbox Code Playgroud)

我需要选择所有子列表,使得i值在4的每个子列表中永远不会相同

{{1,1},{1,2},{2,3},{ ,1}}应该被拒绝.我重复2次的值1.

我知道我可以用案例来做这件事,但是不理解它的语法,并且发现与其潜在应用相比,案件的帮助相当空洞.

select design-patterns wolfram-mathematica case

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

或者在开关/案例中声明?

是否可以在交换机/案例结构中使用OR语句?假设我想点击两个不同的项目时做同样的事情.

我试过了

(case R.id.bOne || case R.id.tvOne):
Run Code Online (Sandbox Code Playgroud)

case (R.id.bOne || R.id.tvOne):
Run Code Online (Sandbox Code Playgroud)

但它们似乎都不起作用..

android case switch-statement

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

我可以在case语句中使用数组吗?

我想在C++的switch/case语句中使用const int数组.可能吗?到目前为止,我尝试过类似的东西:

int main()
{
    int const tab[3] = {1,2,3};
    int value(2);
    switch(value)
    {
        case tab[1]:
            cout << "result is: " << tab[0]<< endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然而,编译器一直告诉我:

.../main.cpp|11|error: the value of ‘tab’ is not usable in a constant expression
Run Code Online (Sandbox Code Playgroud)

我把我的数组声明为"int const",这还不够吗?

c++ arrays case switch-statement

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

Elixir:在case语句中使用变量

我有此case语句,该语句给出错误“变量constant1未使用”。似乎是忽略变量并返回顶行,因此变量显然没有作用域。如果我将常数替换为数字1,那么它将起作用。在Elixir中做到这一点的最佳方法是什么?

defmodule Main 
do
    def constant1, do: 1
    def constant2, do: 1
    def constant3, do: 1

    x = 1
    y = 0
    z = 0

    {a, b, c, d} = 
        case {x, y, z} do
            {constant1, constant2, constant3} -> {1, 2, 3, 4}
            {constant1, constant2, _} -> {5, 6, 7, 8}
            {constant1, _, _} -> {9, 10, 11, 12}
            {_, _, _} -> {13, 14, 15, 16}
        end

    IO.inspect {a, b, c, d}
end
Run Code Online (Sandbox Code Playgroud)

这是输出:

warning: variable constant1 is unused …
Run Code Online (Sandbox Code Playgroud)

constants case elixir

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

系统Verilog - 带或的情况

我怎么能用或创建案例?

就像是:

string str;

case (str)
   "abc" || "dfg": begin
       //some code
   end
   "yfg": begin
       //some code
   end
   default: //some code
endcase
Run Code Online (Sandbox Code Playgroud)

verilog case system-verilog

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