我有一个查询在某种情况下更新某些字段。
条件
时差不超过1小时,日期可以相同。
select brth_dt from Table where user_cd = 'HARSHIT';
select sysdate from dual;
select brth_dt from Table
where user_cd = 'HARSHIT'
and sysdate-(1/24) < BRTH_DT;
但是有一个条件也就是在晚上,用户试图在23:30更新,之后他在00:15尝试第二天所以差异是45分钟,但更新必须执行
<div class="row">
<div class="col-md-12">
<p><a href="#credits" class="toggle btn btn-primary"><?php print $title; ?></a></p>
<div id="credits1" class="wysiwyg hidden">
Content - content
</div>
</div>
以上查询的结果
25/02/2016 12:30:00
选择了1行。
24/02/2016 16:7:58
选择了1行。
25/02/2016 12:30:00
选择了1行。
答案 0 :(得分:0)
to_char(col_name, 'yyyy-mm-dd hh24:mi:ss')
只使用24小时格式,我认为应该做的工作。
答案 1 :(得分:0)
我认为没有理由将日期转换为字符串...如果您需要检查2个日期是否在一个小时之内,只需在日期进行数学计算,并进行比较:
select * from sir_people
where user_cd = 'HARSHIT'
and BRTH_DT BETWEEN sysdate-(1/24)
AND sysdate;
为了进行比较,日期to_char从根本上是有缺陷的逻辑,应该避免。
[edit]基于提供的示例:您似乎想要排除将来的日期,并且仅包括现在和一小时之间的那些日期。 查询已更新,以满足该额外要求。
答案 2 :(得分:0)
只需将所需条件转换为sql: “时差不超过1小时,日期可以相同。”
select *
from Table
where user_cd = 'HARSHIT'
and abs(sysdate-brth_dt) <= 1/24