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