查询选择格式为m/d/yyyy的两个日期之间的数据

Rah*_*tam 4 sql database sql-server-2008

当我试图从两个日期之间的表中选择记录时,我遇到了问题.

m使用以下查询

select * from xxx where dates between '10/10/2012' and '10/12/2012'
Run Code Online (Sandbox Code Playgroud)

此查询适用于我,但当日期的格式为2013年1月1日..它不起作用..

请尽快解决我的问题.

Ale*_*nko 7

此解决方案为谓词中的条件提供CONVERT_IMPLICIT操作

SELECT * 
FROM xxx 
WHERE CAST(dates AS date) BETWEEN '1/1/2013' and '1/2/2013'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

要么

SELECT * 
FROM xxx 
WHERE CONVERT(date, dates, 101) BETWEEN '1/1/2013' and '1/2/2013'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

SQLFiddle上演示