如何比较两个日期时间字段但忽略年份?

Mar*_*iek 5 t-sql

我把我的VBScript帽子弄脏了,并编写了一些经典的ASP来查询SQL Server 2000数据库.

这是场景:

  • 我有两个名为fieldAfieldB的日期时间字段.
  • fieldB的年份值永远不会超过fieldA的年份
  • 可能的两个领域将具有相同的年份.

我想要的是所有记录,其中fieldA > = fieldB,与年份无关.假装每个领域只是一个月和一天.

我怎么能得到这个?我对T-SQL日期/时间函数的了解充其量只是参差不齐.

Vin*_*nie 14

您可能希望使用内置时间功能,例如DAY和MONTH.例如

SELECT * from table where
MONTH(fieldA) > MONTH(fieldB) OR(
MONTH(fieldA) = MONTH(fieldB) AND DAY(fieldA) >= DAY(fieldB))
Run Code Online (Sandbox Code Playgroud)

选择fieldA的月份较大或月份相同且fieldA的日期更大的所有行.