SQL Server中具有相同列的多个Where子句

时间:2016-05-02 13:23:18

标签: sql sql-server tsql stored-procedures

我们在以下某个存储过程中运行以下查询:

unparsed-text()

在此代码中,paydate列用于多个where子句。有没有更有效的方法在SQL中编写上述逻辑?

1 个答案:

答案 0 :(得分:1)

paydate的逻辑很好。如果SQL Server支持LEAST()GREATEST(),您可以找到其他优雅的解决方案。

处理多个重叠时间段非常棘手。我不能说你的逻辑正确。但是,如果您打算在不同时期获得重叠,那么这是正确的。

作为一个注释,JOBTITLE的逻辑是过度的。之一:

JobTitle LIKE '[A-Z]%'

或:

LEFT(JobTitle, 1) BETWEEN 'A' and 'Z'

我更喜欢第一种方法,即使我再次开始喜欢LIKE