标签: case

具有特征的case类的equals/hashCode的Scala语义

我是Scala的新手.在2.7.7中,以下代码

abstract class C
case class CC() extends C

trait T

val c1 = CC()
val c2 = new CC() with T
println(c1.hashCode == c2.hashCode,c1 equals c2)
Run Code Online (Sandbox Code Playgroud)

版画

(false,true)
Run Code Online (Sandbox Code Playgroud)

而我本来期待的

(false,false)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?提前致谢.

scala equals case hashcode traits

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

创建可能案例的简单方法

我有数据列表,如

a = [1,2,3,4]
b = ["a","b","c","d","e"]
c = ["001","002","003"]
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的另一个列表,混合了所有可能的a,b,c这样的情况

d = ["1a001","1a002","1a003",...,"4e003"]
Run Code Online (Sandbox Code Playgroud)

有没有任何模块或方法来生成d而没有写多个for循环?

python methods module case

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

选择ColA = ColB的行,并添加一个新列,告知ColA中的原始数据是否重复

我试图找出如何查询表(该表实际上是一个结果集,因此它将是一个子查询),将其分组ColA=ColB(见下文),并一步创建一个计算字段.

所以,如果我的测试数据看起来像

ColA    ColB    ColC 
1       1       aaa 
1       2       bbbb    
1       3       cccc    
2       2       dddd    
3       3       eeee    
3       4       ffff    
3       5       gggg    
3       6       hhhh    
4       4       iiii    
5       5       jjjj    
6       6       kkkk    
6       7       llll    
6       8       mmmm    

我想只检索行,ColA=ColB并添加一个新列,告诉我原始数据是否ColA重复.见下文.

ColA   ColB    ColC    multiples
1      1       aaaa    yes
2       2       dddd    no
3       3       eeee    yes
4       4       iiii    no
5       5       jjjj    no
6       6       kkkk    yes

有人可以帮我解决语法问题吗?我一直在玩Group …

sql oracle group-by case having

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

SQL:包含多个字段的Case语句

我正在尝试使用CASE语句编写GROUP BY子句,因此我可以根据查询中的参数值有条件地使用GROUP BY.这是我正在使用的查询(显着缩短)并且我一直得到"RVPname在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.并且DVPname无效且AEname无效.

SELECT
DVPname, RVPname, AEname, Dealer, Product, Distribution, 

CASE WHEN @LEVEL = 'DVP' THEN DVPname
WHEN @LEVEL = 'RVP' THEN RVPname
WHEN @LEVEL = 'AE' THEN AEname
END AS NAME

..........other code here.....

GROUP BY Product, Distribution,
CASE WHEN @LEVEL = 'RVP' THEN AEname WHEN @LEVEL = 'DVP' THEN RVPname WHEN @LEVEL= 'AE' THEN Dealer END
Run Code Online (Sandbox Code Playgroud)

- 有谁知道如何做我想要完成的事情.当LEVEL ='DVP'时我想要GROUP BY RVPname,当LEVEL ='RVP'时我想要GROUP BY AEname ....有意义吗?

sql group-by case

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

CASE WHERE更改运算符 - TSQL

我想知道你是否可以在WHERE改变运算符的子句中做一个case语句.

我想要做的是根据布尔值过滤掉结果.

SELECT *
FROM table1
WHERE 
      CASE @Status
          WHEN 1 THEN Name LIKE 'SOMETHING%'
          WHEN 2 THEN Name NOT LIKE 'SOMETHING%'
      END
Run Code Online (Sandbox Code Playgroud)

我想知道这是否可能?

sql t-sql sql-server case where

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

如何在CASE语句中使用REGEXP_LIKE?

我想在我的CASE语句中使用REGEXP_LIKE

2个问题

  1. 如何让REGEXP_LIKE在此CASE语句中工作?我收到以下错误消息 ORA-00904: "TRUE": invalid identifier

  2. 重新正则表达式,为什么select '12345678' from dual查询返回1

正则表达式规则

0到6位,后跟0或1个小数点,后跟0到6位数.

with expression_row as 
(select 'zzzz'     as expression from dual union all
select '12345678' as expression from dual union all
select '12.33333' as expression from dual union all
select '.222222'  as expression from dual)
select 
expression,
       case regexp_like( expression, '^\d{0,6}(\.{0,1}\d{0,6})$') 
      -- [0-6 digits][0-1 decimal][0-6 digits]
       when TRUE then 'Y'
       else 'N'
      end as valid_y_n
    from expression_row; 
Run Code Online (Sandbox Code Playgroud)

期望的输出

zzzz     N
12345678 N
12.33333 Y
.222222 …
Run Code Online (Sandbox Code Playgroud)

regex sql case oracle11g

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

在Where子句中添加Case语句

我需要case在一个where子句中添加一个语句.我希望它根据TermDate的值运行下面的任何一个语句.

Select * 
from myTable
where id = 12345
    AND TermDate CASE  
    WHEN NULL THEN
       AND getdate() BETWEEN StartDate AND DATEADD(dd, 30, StartDate)
    ELSE
    AND GETDATE < TermDate
    END
Run Code Online (Sandbox Code Playgroud)

sql select case switch-statement

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

具有NULL值的CASE表达式

我正在努力了解如何在进度案例表达式中检查空值。我想查看是否存在一列并使用它,如果不使用后备列。例如,威廉的名字将由Bill在fn.special-char中覆盖。

我有以下查询:

SELECT  
"PUB"."NAME"."LAST-NAME" as LastName,
   CASE fn."SPECIAL-CHAR"
     WHEN   is null  THEN "PUB"."NAME"."FIRST-NAME"
     ELSE   fn."SPECIAL-CHAR"
END as FirstName

FROM "PUB"."NAME"  
LEFT OUTER JOIN "PUB"."DAT-DATA" fn on "PUB"."NAME"."NAME-ID" = fn."DAT-SRC-ID" and 11 = fn."FLD-FIELD-ID" 
Run Code Online (Sandbox Code Playgroud)

当我运行查询时,我得到:

ORBC Progress OpenEdge Wire Protocol驱动程序] [OPENEDGE]语法错误SQL语句等于或大约为“,然后为” PUB“。” NAME“。” FIRST-“(10713)

如果我选择*,我会看到一切。它只是不喜欢空白部分。我还可以将when null更改为when'bob',并且它可以工作。

在进度数据库查询中使用空值是否需要做其他事情?

sql select case progress-db openedge

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

Clojure案例

除了不断的时间发送case,还有什么可以引导我使用case而不是cond condp

conditional case clojure

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

如何否定案件内部

我在plsql中有点新,所以你能告诉我它存在一种否定案例的方法吗?我的意思是,这样:

 select CASE DENOM_CURRENCY_CODE
            WHEN != 'MXN' THEN 'convert to USD'
            ELSE TO_CHAR(QUANTITY) --keep the quantity
        END 
Run Code Online (Sandbox Code Playgroud)

我收到了这个消息"ORA-00936:缺少表达"我也试过"<>"和"不是".谢谢阅读

oracle plsql case

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