Oracle SQL 求算时间加减问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle SQL 求算时间加减问题相关的知识,希望对你有一定的参考价值。
具体如下:closetime:数据库已存的,类型为TimeStamp(6) ,SYSTIMESTAMP:当前系统时间
我首先,select SYSTIMESTAMP from dual 取得当前时间!
然后获取:
ResultSet rs1 = null;
rs1 = pstmt1.executeQuery();
while (rs1.next())
SYSTIMESTAMP = rs1.getTimestamp(1);
最后,我要查询 另一个表的,据当前时间,前后 15天的数据:
select closetime,begintime,maxmoney from TBL_TABLE
where trunc(to_number(substr((closetime- " + SYSTIMESTAMP + "),1,instr(closetime- " + SYSTIMESTAMP + " ,' ')))) < 15
我这个SQL语句 一运行就报错,基本就是 数据类型不对,求大神帮我解决!trunc也是我查的,不知道是不是这个方法,好像不支持timestamp型!
closetime,
begintime,
maxmoney
from
tbl_table
where
closetime>=clostime-15 and closetime<=closetime+15追问
这样直接剪,不对,我运行了,等于没写
追答instr(closetime-"+SYSTIMESTAMP+","
这个“,"是多余的吧
按照你那个直接减的方法不对啊。date型,才可以这样。
追答是不是可以用to_date函数转换一下呢
本回答被提问者采纳 参考技术B 你确实你SQL是这样写的? SQL字符串用单引号,JAVA才是双引号追问这个是JAVA ,你能看深层次一点吗?不要留在这个浅层次
追答那你的SQL里怎么会双引号?
SQL请教大家一个日期的加减法
比如一个字段A,datetime,2009-11-20 12:23:12
现在我想做两件事情
月份减1,得出2009-10-20 12:23:12
日期减1,得出2009-11-19 12:23:12
请问在不改变字段类型的前提下如何实现,谢谢大家
ql语句处理时间——日期加减天数如下:
select date_add(now(), interval 1 day); -- 加1天
select date_add(now(), interval 1 hour); -- 加1小时
select date_add(now(), interval 1 minute); -- 加1分钟
select date_add(now(), interval 1 second); -- 加1秒
select date_add(now(), interval 1 microsecond);-- 加1毫秒
select date_add(now(), interval 1 week);-- 加1周
select date_add(now(), interval 1 month);-- 加1月
select date_add(now(), interval 1 quarter);-- 加1季
select date_add(now(), interval 1 year);-- 加1年
扩展资料
SQL中常用日期函数
1、GETDATE() 返回当前系统日期;
SELECT GETDATE()
2、DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回;
--常数为正
SELECT DATEADD(YY,1,GETDATE())
--等同于
SELECT DATEADD(YEAR,1,GETDATE())
--常数为负数
SELECT DATEADD(YY,-2,GETDATE())
--常数为小数(直接舍去小数部分)
SELECT DATEADD(YY,2.4,GETDATE())
SELECT DATEADD(YY,2.5,GETDATE())
SELECT DATEADD(YY,2.6,GETDATE())
参考技术A http://baike.baidu.com/view/327444.htm?fr=ala0月份减1 select DateAdd(m,-1, A) from 表
日期减1 select DateAdd(d,-1, A) from 表本回答被提问者采纳 参考技术B select dateadd(month,-1,字段A) 月份减一
select dateadd(day,-1,字段A) 日期减一 参考技术C select dateadd(month,-1,A) 月份减一,dateadd(day,-1,A) 日期减一 from 表 参考技术D select add_months(datetime, -1), datetime-1 from dual
以上是关于Oracle SQL 求算时间加减问题的主要内容,如果未能解决你的问题,请参考以下文章