C# 如何在asp.net中比较数据库字段和日期时间

C# 如何在asp.net中比较数据库字段和日期时间,c#,asp.net,database,datetime,C#,Asp.net,Database,Datetime,NET和我正在开发一个程序,在这个程序中,我从数据库中获取一些数据,并尝试与DateTime字段进行比较。 例如,我在SEIBEL数据库中有某些文档,我希望这些文档的过期日期与当前日期和时间进行比较,并相应地发送消息。但不知何故,我无法比较它们 这是我正在运行的asp.net中的sql查询 private static readonly string GET_PROVIDER_DOCUMENTS = @" select sc.row_id, doc.created as crea

NET和我正在开发一个程序,在这个程序中,我从数据库中获取一些数据,并尝试与DateTime字段进行比较。 例如,我在SEIBEL数据库中有某些文档,我希望这些文档的过期日期与当前日期和时间进行比较,并相应地发送消息。但不知何故,我无法比较它们

这是我正在运行的asp.net中的sql查询

private static readonly string GET_PROVIDER_DOCUMENTS = @"
select sc.row_id, 
       doc.created as created_date, 
       doc.attrib_04 as document_type, 
       doc.attrib_47 as exipration_date,
       att.row_id    as document_row_id,
       att.file_name || '.' || att.file_ext as file_name
  from siebel.s_org_ext sc
  join siebel.s_org_ext_xm doc 
    on doc.par_row_id = sc.row_id
   and doc.type = 'SCLicenseInfo'
   and doc.attrib_35 = 'Expiration Date'
   and doc.attrib_04 in ('Certificate of Insurance', 'Master Service Agreement')
  left join siebel.s_accnt_att att on att.comments = doc.row_id
 where sc.row_id = :sc_row_id
";
这是我试图从数据库中获取过期日期的地方

ExpirationDate = ConvertExpirationDate(dr["exipration_date"].ToString()),

如果有人对此有任何想法,那就太好了。提前感谢

您看过DateTime对象上的TryParse方法了吗


可能适合您的需要,但我相信这取决于您的日期存储格式。

假设您成功地从数据库获取日期时间并将其存储为名为ExpirationDate的字符串:

DateTime date1 = Convert.ToDateTime(ExpirationDate);
Datetime date2 = new Datetime(---)//desired date to compare with.

if(DateTime.Compare(date1,date2)==0)
{
    // They're equal.
}
else
{
    // Not equal.  
}
转换:

比较:

或者,您可以比较日期的日/月/年组件,如下所示:

DateTime today = DateTime.Today;
if(ExpirationDate.Year == today.Year &&
ExpirationDate.Month = today.Month && ExpirationDate.Day = today.Day )

您是否在询问如何将dr[“exipration_date”]转换为DateTime?什么类型的字段是
expiration_date
?这是一个VARCHAR,一个约会还是别的什么?在谷歌上快速搜索
siebel
表明它很可能托管在Oracle数据库中。是这样吗?是的,那太好了。你能提供更多的细节吗?
ConvertExpirationDate
的代码是什么?当你说你无法比较它们时会发生什么?您是否遇到异常?@John,如果您想转换为DateTime,您好,我尝试了您的解决方案,但出现了错误“名称“ExpirationDate”在当前上下文中不存在”我想因为它被声明为公共DateTime ExpirationDate{get;set;},它看起来像字符串,但行为不同