读书人

简化SQL语句解决办法

发布时间: 2012-04-04 16:38:51 作者: rapoo

简化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

读书人网 >SQL Server

热点推荐