嗨,我必须从我的表中检索与给定 MM-YYYY 匹配的最新记录,但表中的日期字段是 DD-MM-YYYY,我该如何完成?
非常感谢你
最好的问候伊格纳西奥。
嗨,我必须从我的表中检索与给定 MM-YYYY 匹配的最新记录,但表中的日期字段是 DD-MM-YYYY,我该如何完成?
非常感谢你
最好的问候伊格纳西奥。
您需要多少最近的记录?
你能不能查询相关月份的所有日期,按日期排序,然后只从列表顶部选择你需要的结果。
例如:
SELECT TOP(1) *
FROM your_table
WHERE date_time_field >= '20120101'
AND date_time_field < '20120201'
ORDER BY date_time_field DESC
这将选择今年 1 月以来的最新记录。更改TOP()
语句中的数字以更改返回的结果数,或者完全不使用它,并放心您的结果是有序的。
以下作品:
right(select convert(varchar, <date field>, 110), 7)
完整的查询看起来像这样:
select *
from table
where right(select convert(varchar, <date field>, 110), 7) = 'MM-YYYY'
SELECT * FROM `your`.`schemaTableNames` WHERE your_coulumn_name LIKE "%-MM-YYYY";
应该给你匹配的记录,就像你写的那样,你想检索。
您是否尝试过DateDiff(month, date1, date2) == 0
在 where 子句中使用?
这假定您可以将这两个值都转换为 DATETIME。如果您只有年和月,则每个月都有第 01 天。
要将日期转换为所需格式,您可以使用样式来检索记录日期格式