我的 dbase 具有 6 位数的日期格式和 int 数据类型('734503' = 01/01/2012)。我已经能够成功地将这些转换为字符:
SELECT CONVERT(char(12),dateadd(dd,(date_paid - 639906),'1/1/1753'),101)
FROM vouchers
WHERE date_paid = '734503'
这给了我 2012 年 1 月 1 日的输出。但是,如果我在这样的查询中搜索转换后的日期:
SELECT CONVERT(char(12),dateadd(dd,(date_paid - 639906),'1/1/1753'),101)
FROM vouchers
WHERE date_paid >= '09/01/2012' AND date_paid <= '09/30/2012'
为什么没有发生转换?即使我在 date_paid 字段的 WHERE 语句中使用 CONVERT,它不应该在那里工作吗?
我想我的问题是如何使用转换后的字符日期进行搜索而不必使用 6 位日期?