在SQL Server中查询日期

时间:2016-09-12 13:32:41

标签: sql sql-server date datetime

我将某些日期保存为VARCHAR(25)。我试图编写一个查询来搜索Date1,但由于日期未保存为DATEDATETIME,我们没有这样做。有人可以帮忙吗?

这就是我一直在尝试的......

Select * from tblAd1
where date1 = '9/12/2016'

编辑: 我的错误 - 当我尝试ORDER BY时,就会发生这种情况。当时它没有正确执行。

Select * from tblAd1
order by date1

1 个答案:

答案 0 :(得分:7)

使用select2CAST

Convert

即使可以搜索,您也应该将日期存储在Select * from tblAd1 where cast(date1 as date) = '2016-09-12' 数据类型中,而不是存储在DATE中。由于您要将日期存储在Varchar类型中,因此存储错误日期会有更多更改,从而导致将其转换为varchar时出错。另外,这可以避免使用date

中的任何index