Bill_Date
在数据库中保存为字符串。现在我想根据此Bill_Date
选择记录。所以我输入了两个日期,即。 fromDate
和toDate
(也是字符串)。
所有日期值均使用美国格式mm/dd/yyyy
(例如11/28/2011
)。
那么查询将如何?
答案 0 :(得分:3)
首先,如果所有内容都是日期时间,那么您的生活会更容易(并且查询速度会更快)。
查询(原样)将是:
SELECT *
FROM TABLE
WHERE CONVERT(datetime, BILL_Date, 101)
BETWEEN CONVERT(datetime, @fromDate, 101) AND CONVERT(datetime, @toDate, 101)
CONVERT
详细here。
答案 1 :(得分:0)
如果字符串格式为YYYY-MM-DD(或任何其他格式,如果按字符串排序,日期将按时间顺序排序),您可以使用:
select * from table where Bill_date between fromDate and toDate
如果使用不同的日期格式,则需要解析字符串并在c#或sql中创建日期。在Oracle中,您将使用TO_DATE,我假设在SQL服务器中有类似的东西。