我们在以下某个存储过程中运行以下查询:
unparsed-text()
在此代码中,paydate列用于多个where子句。有没有更有效的方法在SQL中编写上述逻辑?
答案 0 :(得分:1)
paydate
的逻辑很好。如果SQL Server支持LEAST()
和GREATEST()
,您可以找到其他优雅的解决方案。
处理多个重叠时间段非常棘手。我不能说你的逻辑正确。但是,如果您打算在不同时期获得重叠,那么这是正确的。
作为一个注释,JOBTITLE
的逻辑是过度的。之一:
JobTitle LIKE '[A-Z]%'
或:
LEFT(JobTitle, 1) BETWEEN 'A' and 'Z'
我更喜欢第一种方法,即使我再次开始喜欢LIKE
。