最常用的日期查询[关闭]
Posted
技术标签:
【中文标题】最常用的日期查询[关闭]【英文标题】:Most used date query [closed] 【发布时间】:2020-12-20 11:42:35 【问题描述】:我正在使用 SQL Server。如何仅从我的表中查询 2018 年 2 月的所有记录?我正在寻找最常用的日期查询。然后应该有我可以轻松更改此日期的查询。
【问题讨论】:
到目前为止你尝试了什么? 欢迎来到 ***。我建议您阅读How to ask 和How to ask a good SQL question,以便您可以写出高质量的问题并让人们帮助您。在这种特殊情况下,请提供minimal reproducible example,即一小组样本数据、样本数据的预期结果、您对选项所做的研究以及您所做的尝试。 【参考方案1】:假设你有一个date
列或类似的:
select *
from mytable
where mydate >= '20180201' and mydate < '20180301'
【讨论】:
非常感谢您的回答。那么如何使这种日期格式参数化呢?【参考方案2】:类似这样的:
SELECT (list of columns)
FROM dbo.YourTableHere
WHERE YourDateColumn >= '20180201' AND YourDateColumn < '20180301'
基本上只使用普通的 >=
和 <
运算符,以及 ISO-8601 格式的日期字符串文字来获取从 2 月 1 日开始的任何内容,但 在 3 月之前2018 年 1 月 1 日。
这当然是假设 YourDateColumn
真的是 DATE
或 DATETIME2(n)
数据类型 - 它真的应该是!
【讨论】:
非常感谢您的回答。那么我怎样才能使这个日期格式参数化呢?【参考方案3】:SELECT *
FROM MYTABLE
WHERE MYDATECOLUMN LIKE '2018-02%'
你也可以使用 LIKE。
如果您的日期保存为 2018-02-01,上述查询将起作用。
如果您的日期保存为 20180201,则其他人的答案将起作用或使用 LIKE '201802%'
【讨论】:
LIKE
in SQL Server 不起作用在 DATE
或 DATETIME2(n)
列 - 这真的应该是!
@marc_s LIKE
确实在DATETIME2
中工作我在我的环境中使用了很多。我认为它也可以在 DATETIME
和 DATE
中使用,所以如果不是,那是我的错误。以上是关于最常用的日期查询[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Ruby on Rails 日期查询和修改的方法--数据库常用操作