SQL服务器:如何根据可变日期的中间设置比较

SQL Server : how to set a comparison based on the middle of variable date

我有一个可变日期,我需要能够检查日期是否在 15 号之前,然后打印“月初”,如果日期在 15 号之后,则打印“月末”

日期格式为“2021-11-08T00:00:00.000-05:00”,可以是任何日期,这只是一个示例。

SuspensionDate是变量

请指教 谢谢,

这里有一些功能可以让您到达需要的地方

获取月初
SELECT DATEADD(月, DATEDIFF(月, 0, @mydate), 0) AS StartOfMonth

获取日期
SELECT DAY('2017/08/25') 作为 DayOfMonth;

获取月底
SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @date) + 1, 0))

感谢您提出上述所有建议。

我找到了适用于 oracle 数据库的正确方法。

这是我使用的,以防对其他人有好处。

CASE WHEN (EXTRACT (DAY from tcn.UXSUSPENSIONENDDATEDOP)) > 15 THEN 'end' ELSE 'beginning' END suspensionday