(ISNULL([Deal Status]) ? "2" : SUBSTRING([Deal Status],1,1)) == "2"
这是SSIS中条件分割的输出之一。
我不明白这意味着什么。你能帮忙解释一下吗?
我理解:如果Deal Status为null,则返回2,否则检查dealstatus是否为2?
答案 0 :(得分:3)
使用? and :
时,它是一个条件运算符,与使用if / else语句相同:
condition ? true result : false result
因此,要分解您的陈述正在做什么,它首先检查是否DealStatus IS NULL
。如果是,则返回“2”。如果不是NULL
,则会使用DealStatus
返回SUBSTRING
字段的第一个字符。最后,它将该结果进行比较,看它是否等于“2”。
整个表达式将返回true / false。例如,如果DealStatus
为NULL
,则始终返回true。
例如,如果以下值存储在DealStatus字段中,则会出现结果。
DealStatus ResultOfCondition
NULL true (because DealStatus is NULL, we compare 2 == 2 is true)
123 false (because the first character is 1, 1 == 2 is false)
234 true (because the first character is 2, 2 == 2 is true)
答案 1 :(得分:-1)
例如,如果以下值存储在DealStatus字段中,则会出现结果。
DealStatus =空
(ISNULL([交易状态])?" 2" :SUBSTRING([交易状态],1,1))==" 2" 它将验证第一个条件,DealStatus值为null所以它会显示(真实条件)后?重视那里的一切,在这种情况下" 2"是"?"它将显示2.so 2 = 2
DealStatus = 256
(ISNULL([交易状态])?" 2": SUBSTRING([交易状态],1,1))==" 2"
它将检查第一个条件,但是DealStatus值不为null,因此它将检查它将产生输出的第二个条件是2 .so 2 = 2.
子串Ex: -
选择SUBSTRING(' 258',1,1)o / p: - 2
选择SUBSTRING(' 589',1,1)o / p: - 5