SQL中的日期平等

时间:2014-07-12 07:07:18

标签: sql jsp date

我已将记录存储在一个包含存储SYSDATE的列的表中。

现在我运行了一个查询并在JSP页面中显示了该表的所有行。我给了一个按钮来选择一行并更新它。

我想在SQL表中选择该特定行来更新它。为此,每行的日期列是唯一的,我想使用它来使用像

这样的查询来选择该行
Update Table 
Set record_seen='Y' 
Where sub_date Like to_date('01-01-2014','dd/mm/yyyy')

以上查询有效,但如何在上述查询中使用整个sysdate like '2014-07-11 10:37:52.0'

1 个答案:

答案 0 :(得分:1)

评论有点长。我怀疑你已经解决了你的问题。查询看起来像:

Update Table 
    Set record_seen='Y' 
    Where to_char(sub_date, 'YYYY-MM-DD HH24:MI:SS') = '2014-07-11 10:37:52';

缺点是这不会使用索引,除非你实现了一个功能索引,如:

create index idx_table_tochar_subdate on table(to_char(sub_date, 'YYYY-MM-DD HH24:MI:SS'));

据推测,您使用的是Oracle。向每一行添加伪列可能会很麻烦,因为它需要为每个表创建一个序列和一个触发器(至少在旧版本的Oracle中)。您也可以使用rowid伪列来实现此目的。您不会向用户显示rowid,但您会将其存储并用于更新。 Here是关于rowid的更多信息。