Sql server 案例条件的SSIS派生列不';t根据需要显示准确的结果

Sql server 案例条件的SSIS派生列不';t根据需要显示准确的结果,sql-server,database,ssis,expression,etl,Sql Server,Database,Ssis,Expression,Etl,我把这种情况下的条件表达式作为一个派生列,结果我没有预料到 (DT_STR,255,1252)((Step1_Emc_stg_Heading >= "315" && Step1_Emc_stg_Heading <= "45") ? "Northbound" : (Step1_Emc_stg_Heading >= "46" && Step1_Emc_stg_Heading <= "135") ? "Eastbound" : (Step1_Em

我把这种情况下的条件表达式作为一个派生列,结果我没有预料到

(DT_STR,255,1252)((Step1_Emc_stg_Heading >= "315" && Step1_Emc_stg_Heading <= "45") ? "Northbound"
: (Step1_Emc_stg_Heading >= "46" && Step1_Emc_stg_Heading <= "135") ? "Eastbound"
: (Step1_Emc_stg_Heading >= "136" && Step1_Emc_stg_Heading <= "225") ? "Southbound" 
: (Step1_Emc_stg_Heading >= "226" && Step1_Emc_stg_Heading <= "314") ? "Westbound" : "Nobound")

(DT_STR,2551252)((Step1_Emc_stg_Heading>=“315”和&Step1_Emc_stg_Heading=“46”和&Step1_Emc_stg_Heading=“136”和&Step1_Emc_stg_Heading=“226”和&Step1_Emc_stg_Heading我认为问题在第一种情况下

Step1_Emc_stg_Heading >= "315" && Step1_Emc_stg_Heading <= "45"
更新1 尝试以下表达式(使用数字而不是字符串,并重新排序条件):


(DT_STR,2551252)((DT_I4)Step1_Emc_stg_标题在提出第一个问题之前,建议阅读,以了解有关提出好问题、接受答案和其他网站规则的更多信息。此外,还可以获得“知情”徽章。这里最大的问题是假设字符串值可以与数字相同。例如,“6”>“315244542”的计算结果为true。我需要的第一个类类似于列值大于315,而相同的列小于45。您能帮助我构建语句吗?我使用的是Step1\u Emc\u stg\u标题>=“315”“| |第1步| Emc|stg|标题此标题完全有效,我本可以更改为4位有符号整数,感谢您提供的精彩提示@hadi@manojyadla欢迎:)。如果我的答案解决了问题,您必须接受它。只需检查答案左侧的标记。您也不能删除&&的左侧,因为您已经在前面的If中检查了它吗?
Step1_Emc_stg_Heading >= "315" || Step1_Emc_stg_Heading <= "45"
(DT_STR,255,1252)((DT_I4)Step1_Emc_stg_Heading <= 45 ? "Northbound"
:  (DT_I4)Step1_Emc_stg_Heading <= 135 ? "Eastbound"
:  (DT_I4)Step1_Emc_stg_Heading <= 225 ? "Southbound" 
:  (DT_I4)Step1_Emc_stg_Heading <= 314 ? "Westbound" 
:  (DT_I4)Step1_Emc_stg_Heading >= 315 ? "Northbound" : "Nobound")