当前位置: 代码迷 >> Sql Server >> 简化SQL语句解决办法
  详细解决方案

简化SQL语句解决办法

热度:81   发布时间:2016-04-27 13:39:35.0
简化SQL语句
SQL code
   A.FinanceSubjectID LIKE '%,' + CAST(T.FinanceSubjectID AS VARCHAR(50))+ ',%' OR A.FinanceSubjectID LIKE '%,' + CAST(T.FinanceSubjectID AS VARCHAR(50)) OR A.FinanceSubjectID LIKE CAST(T.FinanceSubjectID AS VARCHAR(50))+ ',%' OR A.FinanceSubjectID = CAST(T.FinanceSubjectID AS VARCHAR(50))OR A.FinanceSubjectID IS NULL


这段SQL是一个WHERE条件,如何简化?

------解决方案--------------------
SQL code
where A.FinanceSubjectID IS NULL  or ','+A.FinanceSubjectID+',' like '%,' + CAST(T.FinanceSubjectID AS VARCHAR(50))+ ',%'
------解决方案--------------------

++
探讨

SQL code

where A.FinanceSubjectID IS NULL
or ','+A.FinanceSubjectID+',' like '%,' + CAST(T.FinanceSubjectID AS VARCHAR(50))+ ',%'

------解决方案--------------------
两个表里面的FinanceSubjectID 分别是值?
------解决方案--------------------
SQL code
where ','+isnull(A.FinanceSubjectID,T.FinanceSubjectID)+',' LIKE '%,' + CAST(T.FinanceSubjectID AS VARCHAR(50))+ ',%'
------解决方案--------------------
where
CHARINDEX(A.FinanceSubjectID,CAST(T.FinanceSubjectID AS VARCHAR(50)))>0 or OR A.FinanceSubjectID IS NULL
  相关解决方案