在某些情况下,我必须选择:
我正在尝试类似的事情:
SELECT * FROM Status WHERE Description =
CASE
WHEN @Status = 'Cancelled' THEN 'Cancelled'
WHEN @Status = 'Open' THEN **NOT Cancelled**
ELSE Description
END
如何写“不取消”条件?
谢谢。
答案 0 :(得分:4)
为什么不这样:
library(tidyverse)
library(lubridate)
df %>%
unite(dmy, day, month, year) %>%
transmute(dmy = dmy(dmy))
# dmy
#1 1999-02-02
#2 2000-01-04
#3 2001-06-22
#4 1977-12-07
#5 1982-10-17
#6 1940-05-12
请注意,如果WHERE
(@Status = 'Cancelled' AND Description = 'Cancelled')
OR
(@Status = 'Open' AND Description <> 'Cancelled')
OR
@Status NOT IN ('Open', 'Cancelled')
OR
@Status IS NULL
可以为Description
,则您需要添加其他逻辑来处理这些记录,因为NULL
和NULL = 'string'
为假。
如Zohar Peled所指出的那样,可以进一步简化:
NULL <> 'sting'