如何编写WHERE语句以匹配一个月最后一天的日期



我正在查询一个时间序列数据库表,我想返回created_date所在月份最后一天(月末)的数据。模式如下:

|     int     |  varchar(12) |  smalldatetime | 
| primary key |     data     |  created_date  |

我想写的查询有点像

SELECT * FROM my_table where create_date IS end_of_month

Sybase中是否有此功能的内置功能?如果没有,创建这样的查询的逻辑是什么?可以在不编写函数的情况下完成吗?

我已经能够编写一个函数来获取任何给定月份的最后一天。我现在正在寻找的是一种在所有给定的月底都能匹配的方式。

您可以使用dateadd和removing一天dateadd(day,-1,1stDayOfMonth)

-- Date format mm/dd/yyyy and calculate the last day of month m-1 
-- example for 03/23/2015 dateadd calulate => 28/02/2015
DATEADD(day,-1, RTRIM (cast(datepart(mm,getdate()) as varchar(2)))+'/01/'+cast(datepart(yyyy,getdate()) as  varchar(4)) )

最新更新