标签: case

SQL案例表达式语法?

SQL Case表达式的完整和正确语法是什么?

sql sql-server oracle syntax case

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

SQL将值更改为大写或小写

如何在sql select语句中创建一个大写或小写的字段?

例:

从Person中选择firstname

如何使名字始终返回大写,同样总是返回小写?

sql case lowercase uppercase

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

我如何在MySQL中正确使用CASE..WHEN

这是一个演示查询,请注意它非常简单,仅在base_price为0的情况下获取,而且,它仍然选择条件3:

SELECT
   CASE course_enrollment_settings.base_price
    WHEN course_enrollment_settings.base_price = 0      THEN 1
    WHEN course_enrollment_settings.base_price<101      THEN 2
    WHEN course_enrollment_settings.base_price>100 AND   
                      course_enrollment_settings.base_price<201 THEN 3
        ELSE 6
   END AS 'calc_base_price',
   course_enrollment_settings.base_price
FROM
    course_enrollment_settings
WHERE course_enrollment_settings.base_price = 0
Run Code Online (Sandbox Code Playgroud)

base_pricedecimal(8,0)

在我的数据库上运行时,我得到:

3 0
3 0
3 0
3 0
3 0

mysql sql conditional case switch-statement

59
推荐指数
5
解决办法
13万
查看次数

MySQL中的Case语句

我有一个名为' tbl_transaction ' 的数据库表,其定义如下:

id INT(11) Primary Key
action_type ENUM('Expense', 'Income')
action_heading VARCHAR (255)
action_amount FLOAT
Run Code Online (Sandbox Code Playgroud)

我想生成两列:Income AmtExpense Amt.

是否可以仅使用SQL查询有条件地填充列,以便输出显示在正确的列中,具体取决于它是Expense项还是Income项?

例如:

ID        Heading         Income Amt       Expense Amt
1         ABC             1000             -
2         XYZ             -                2000
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQL作为数据库.我正在尝试使用CASE语句来完成此任务.

干杯!

mysql sql database case

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

条件JOIN语句SQL Server

是否可以执行以下操作:

IF [a] = 1234 THEN JOIN ON TableA 
ELSE JOIN ON TableB
Run Code Online (Sandbox Code Playgroud)

如果是这样,那么正确的语法是什么?

sql-server conditional join case

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

关于Java switch语句 - 在每种情况下使用return和省略中断

鉴于这种方法,这是否代表了一些令人震惊的风格或语义失误:

private double translateSlider(int sliderVal) {
    switch (sliderVal) {
        case 0:
            return 1.0;
        case 1:
            return .9;
        case 2:
            return .8;
        case 3:
            return .7;
        case 4:
            return .6;
        default:
            return 1.0;
    }
}  
Run Code Online (Sandbox Code Playgroud)

这显然不符合这里的Java教程.

然而,它清晰,简洁,到目前为止已经完全符合我的需要.是否有令人信服的实用理由创建局部变量,在每种情况下为其赋值,为每个案例添加一个中断并在方法结束时返回值?

java return case break switch-statement

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

SQLite查询中的CASE语句

为什么这个查询不起作用?:(我试图替换嵌套的IF语句"... SET lkey = IF(lkey> = 11,lkey - 5,IF(lkey> 5,lkey + 2,lkey))"

UPDATE pages
SET lkey = CASE lkey WHEN lkey >= 11 THEN
        lkey - 5
    ELSE
        CASE lkey WHEN lkey > 5 THEN
            lkey + 2
        ELSE
            lkey
        END
    END,
    rkey = CASE lkey WHEN lkey >= 11 THEN
        rkey - 5
    ELSE
        CASE rkey WHEN rkey < 11 THEN
            rkey + 2
        ELSE
            rkey
        END
    END
WHERE rkey > 5 AND
    lkey < 12;
Run Code Online (Sandbox Code Playgroud)

sqlite nested case

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

在这种情况下PHP切换案例超过1个值

我有另一种情况.我有一个包含值的变量('Weekly','Monthly','Quarterly','Annual'),我有另一个变量,它保存从1到10的值.

switch ($var2) {
       case 1:
          $var3 = 'Weekly';
          break;
       case 2:
          $var3 = 'Weekly';
          break;
       case 3:
          $var3 = 'Monthly';
          break;
       case 4:
          $var3 = 'Quarterly';
          break;
       case 5:
          $var3 = 'Quarterly';
          break;
       // etc.
}
Run Code Online (Sandbox Code Playgroud)

它不漂亮,因为我的代码有很多重复.我想要的是:

switch ($var2) {
       case 1, 2:
          $var3 = 'Weekly';
          break;
       case 3:
          $var3 = 'Monthly';
          break;
       case 4, 5:
          $var3 = 'Quarterly';
          break;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在PHP中做到这一点?先感谢您.对不起我的英语不好.

php case switch-statement

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

bash/zsh脚本中"case"语句的奇怪语法是什么原因?

从程序员的角度来看,shell脚本只是另一种编程语言,人们必须学习并遵守语言规则.但是,我必须承认,这种语法是我在一种常用语言中见过的最奇怪的风格.shell是否采用了它来自的较旧语言的语法?语法中是否有特殊含义/含义?

作为一个例子,这里是我从SO上的另一篇文章中获取的一个小片段

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        check_status
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac
Run Code Online (Sandbox Code Playgroud)

看看这个,首先我可以看到case结束esac,这是它的反转形式(如if结束fi).其次,我理解每个案例后面跟着一个).很公平,但为什么我;在每个声明的末尾都需要两个呢?我还会说)没有伴随的(是丑陋的.

我正在寻找有关语言历史方面的更多信息,但我也是出于技术原因而开放.

bash shell zsh case

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

带有LIKE运算符的Select语句中的MySQL Case

是否可以在MySQL 语句中组合CASE语句和LIKE运算符SELECT

例如,我试图查询一个数据库,该数据库以两种格式之一存储单个列中的数据(这很糟糕并且伤害了我的头脑,但我无法更改数据,所以它就是它.).所以有时列numbers会有像"6901xxxxxxxx"这样的数据,有时会有像"91xxxxxxxxxxx"这样的数据.

我想做的是像这样查询数据 -

SELECT
    CASE digits
      WHEN LIKE "6901%" THEN substr(digits,4)
      WHEN LIKE "91%" THEN substr(digits,2)
    END as "digits",
FROM raw
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但我希望它可能.

mysql case

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