当前位置: 代码迷 >> Oracle管理 >> SQL语句中时间字符串怎么运算? 急
  详细解决方案

SQL语句中时间字符串怎么运算? 急

热度:28   发布时间:2016-04-24 05:44:39.0
SQL语句中时间字符串如何运算? 急!
有这么一条Sql,实现把2008-4-30这一天 9:00:00以后登陆的人的状态置为迟到:
--------------
UPDATE OBT_CHECK SET ISFLAG='迟到' 
WHERE LOGIN_TIME BETWEEN to_date('2008-04-30 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND to_date('2008-04-30 23:59:59', 'yyyy-mm-dd hh24:mi:ss') 
AND LOGIN_TIME>to_date('2008-04-30 9:00:00', 'yyyy-mm-dd hh24:mi:ss')
----------
现在想实现的是把今天9:00:00以后登陆的人的状态置为迟到该如何实现?
我写了一条Sql,但是不对,如下:
----------
UPDATE OBT_CHECK SET ISFLAG='迟到' 
WHERE LOGIN_TIME BETWEEN TO_DATE(TO_CHAR(SYSDATE)+'00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(TO_CHAR(SYSDATE)+' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') 
AND LOGIN_TIME>TO_DATE(TO_CHAR(SYSDATE)+' 9:00:00', 'yyyy-mm-dd hh24:mi:ss')

------解决方案--------------------
几个错误
to_char日期类型的,要跟格式的
字符串连接要用||不是+
------解决方案--------------------
UPDATE OBT_CHECK SET ISFLAG='迟到' 
WHERE LOGIN_TIME>=trunc(sysdate)+9/24
  相关解决方案