我正在查询时间序列数据库表,并且我希望返回created_date
在该月的最后一天(月末)的数据。架构如下所示:
| int | varchar(12) | smalldatetime |
| primary key | data | created_date |
我要编写的查询类似于
SELECT * FROM my_table where create_date IS end_of_month
Sybase中是否有内置函数?如果没有,那么创建这样的查询的逻辑是什么?可以在不编写函数的情况下完成吗?
我已经能够编写一个函数来获取任何给定月份的最后一天。我现在正在寻找的是一种匹配所有给定月末的方法。
答案 0 :(得分:0)
你可以使用dateadd并删除一天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)) )