如何根据保存为字符串的日期选择记录?

时间:2011-11-17 08:17:26

标签: c# asp.net sql-server-2005 datetime

Bill_Date在数据库中保存为字符串。现在我想根据此Bill_Date选择记录。所以我输入了两个日期,即。 fromDatetoDate(也是字符串)。

所有日期值均使用美国格式mm/dd/yyyy(例如11/28/2011)。

那么查询将如何?

2 个答案:

答案 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服务器中有类似的东西。