我的表中有一列用于日期(DateTime),我正在尝试创建一个WHERE子句,表示在2012年12月11日至2012年12月12日期间发布的日期
日期列的样本值= 2012-05-24 00:38:40.260
我想说明在MM-DD-YYYY和MM-DD-YYYY之间的日期.
我试过了
WHERE dates BETWEEN ((convert(nvarchar(10),dates,110) = '2012-12-12') AND (convert(nvarchar(10),110) = '2012-12-12'))
但似乎没有用. “语法不正确=”
请帮忙
编辑:
感谢各种选项和描述人.得到了@ RichardTheKiwi的选择.
解决方法
如果您的日期列不包含时间信息,您可以逃脱:
WHERE dates BETWEEN '20121211' and '20121213'
但是,鉴于您的日期列实际上是日期时间,您需要这个
WHERE dates >= '20121211' AND dates < '20121214' -- i.e. 00:00 of the next day
sql Server 2008以后保留SARGability(使用索引以获得良好性能的能力)的另一个选项是:
WHERE CAST(dates as date) BETWEEN '20121211' and '20121213'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。