SQL Server 如何用SQL筛选出每年的最后几天

tquggr8v  于 2023-01-20  发布在  其他
关注(0)|答案(3)|浏览(127)

我有一个包含2021年和2022年所有日期(1-31)的表。我想过滤掉每年的最后几天(24.12 - 31.12)。
我试着跟随:

SELECT DATE_column
FROM TABLE_A
WHERE CONCAT(DATEPART(dd,DATE_column), DATEPART(mm,DATE_column)) not in (2412, 2512,2612,2712,2812,2912,3012, 3112 )

是的,确实有效。但是我想知道是否有更简单的方法。

h9a6wy2h

h9a6wy2h1#

SELECT DATE_column FROM TABLE_A
WHERE (MONTH(DATE_column) = 12 AND DAY(DATE_column) < 24) or MONTH(DATE_column) < 12
pepwfjgg

pepwfjgg2#

像这样?

DELETE FROM your_table
WHERE MONTH(DATE_column) = 12 AND DAY(DATE_column) >= 24
ilmyapht

ilmyapht3#

SELECT *
FROM table_name
WHERE (YEAR(date_column) = 2021 AND MONTH(date_column) != 12) OR (YEAR(date_column) = 2022 AND MONTH(date_column) != 12) OR (MONTH(date_column) = 12 AND DAY(date_column) < 24)

注意:“date_column”应该替换为表中的实际日期列名。

相关问题