首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

简化SQL语句解决办法

2012-04-04 
简化SQL语句SQL codeA.FinanceSubjectID LIKE %, + CAST(T.FinanceSubjectID AS VARCHAR(50))+ ,% OR

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

热点排行