SQL 2005比较保存为VARCHAR的日期

时间:2012-09-01 16:40:27

标签: sql sql-server-2005 date varchar

我在sql server 2005中将日期保存为VARCHAR 现在我想选择2013年之前的所有日期,我不能。

WDATE 09/01/2012       2012年8月13日

我想将这些日期与任何其他日期进行比较 我正在使用此查询:

SELECT * FROM Work_Order
WHERE  WDATE  < '09/02/2012'

但它减去了几天然后是几年而不是几年而不是我的情况

1 个答案:

答案 0 :(得分:0)

如果您的列定义为VARCHAR,则查看更新的问题,您无法执行所需操作(在某个日期之前选择记录)。您需要将其存储为DATETIME值或CAST它,可能是这样的:

SELECT * 
FROM   Work_Order 
WHERE  CAST(WDATE as DATETIME)  < CAST('09/02/2012' as DATETIME)

我自己没有SQL SERVER 2005,所以语法只是猜测。