我有一组行,每行都有一个日期值,我需要选择属于特定日期范围的行.我怎样才能做到这一点?
select * from table where convert(int,date_created) between //what should go here?
我想在’20 -10-2010’和’22 -10-2010’之间进行选择.
它一直在抱怨字符串到日期的转换.
解决方法
您需要使用yyyymmdd,它是sql Server最安全的格式
select * from table where date_created BETWEEN '20101020' and '20101022'
不知道为什么你有CONVERT到那里…
注意:如果date_created有一个时间组件,它会失败,因为它假设是午夜.
编辑:
要过滤2010年10月20日至2010年10月22日的日期,如果date_created列有时间,则不对date_created应用函数:
where date_created >= '20101020' and date_created < '20101023'