我已将记录存储在一个包含存储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'
?
答案 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
的更多信息。