【发布时间】:2012-08-16 18:55:43
【问题描述】:
如何在 SQL Server 中对 DateTime 数据类型的列执行 LIKE 语句?
如果我运行以下 SQL,它会返回包含 2009 年的所有日期。
SELECT * FROM MyTable where CheckDate LIKE '%2009%'
但是,如果我想要所有 10 月、11 月和 12 月的日期,我希望能够执行以下操作:
SELECT * FROM MyTable where CheckDate LIKE '%2009-1%'
但这并没有给我任何回报!
我为用户提供了一个过滤选项,他们在其中键入日期字符串,并在他们键入时过滤数据。因此,如果他们输入“20”,我想返回日期内所有带有“20”的日期(所以这可能是所有 2012 年的日期或像 1999 年 6 月 20 日这样的日期值)
有人可以帮忙吗?
我使用的是 SQL Server 2008。
提前致谢。
【问题讨论】:
-
感谢您的回复,我已经更新了工作,提供了更多关于我正在尝试做的事情的详细信息
-
您是否检查过您的用户是否需要这样的设施?我从来不想找到“任何一个月的第 10 天、10 月或 2010 年发生的所有活动”。
标签: sql sql-server-2008 datetime