java 获取oracle数据库中的系统时间~目的只是想从数据库取出系统时间 然后打印出来、新人求大虾们帮忙。。

java 获取oracle数据库中的系统时间~目的只是想从数据库取出系统时间 然后打印出来、新人求大虾们帮忙。。,第1张

public static final String DBUSER="scott"; 改成小写

public static final String DBPWD="tiger"; 改成小写

String sql="select sysdate from dual"; 去掉分号

main中只要写

new ConnectionJDBC();

就可以了

1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。

2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。

3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。

4、提交完之后,查询刚刚插入的数据,select

from

TestDate。

5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。

6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。

7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。

本文将从数据库角度来解决这一问题,当然利用代码在逻辑中更容易实现哦!! 注:本文应用是oracle10; 第一步: 创建一个表格holiday用于灵活存放节假日日期(周末除外),如果和周末日期重复,则无需添加到该表格中: Sql代码 create table HOLIDAY ID VARCHAR2(45) not null, HL_DATE DATE, HL_DESC VARCHAR2(500), REMARK VARCHAR2(500), constraint PK_HOLIDAY primary key (ID) ); comment on table HOLIDAY is '节假日日期表(不含周末)'; comment on column HOLIDAY.ID is '节假日编号'; comment on column HOLIDAY.HL_DATE is '节假日期'; comment on column HOLIDAY.HL_DESC is '假日说明'; comment on column HOLIDAY.REMARK is '备注'; 添加一些测试数据: ID HL_DATE HL_DESC 1 2012-9-29 十一 2 2012-10-1 十一 3 2012-10-2 十一 4 2012-10-3 十一 5 2012-10-4 十一 6 2012-10-5 十一 7 2012-9-3 测试 8 2012-9-5 测试 9 2012-9-6 测试 第二步:写个函数用以获取两个日期之间的周末天数,如下: Sql代码 create or replace function weekend_count(startdate date,enddate date) return number /返回两个时间段内的周末天数,开始日期不计算在内/ is weekend_num number:=0; tempdate date; begin tempdate:=startdate+1; while tempdate<=enddate loop weekend_num:=weekend_num+(case when to_char(tempdate,'day') in('星期六','星期日') then 1 else 0 end); tempdate:=tempdate+1; end loop; return weekend_num; end; 第三步:编写函数用以获取指定日期延迟特定工作日以后的具体日期,如下: Sql代码 create or replace function getDeferDate(startdate date,deferDay number) return date /返回延期后的日期/ is enddate date :=startdate+deferDay;--延期后的日期 holiday_num number:=0;--节假日天数 weekend_num number:=0;--周末天数 nonework_num number :=0;--非工作日天数 begin --获取周末天数 weekend_num:=weekend_count(startdate,enddate); --获取节假日天数 select nvl(count(1),0) into holiday_num from holiday a where a.hl_date is not null and a.hl_date between startdate and enddate; nonework_num:=weekend_num+holiday_num; if nonework_num !

oracle输入表中日期不带时间需要用to_char函数。如emp表中数据如下:

现要将时间部分去掉,可用以下语句:select empno,ename,job,mgr,to_char(hiredate,'yyyy-mm-dd') hiredate,sal,comm,deptno from emp;结果截图:

用to_date函数将文本转换成日期的格式来进行查询。

如:emp表中有如下数据:

要查询出hiredate的时间待遇1981年7月1日的记录,可用如下语句:

select from emp where hiredate>to_date('1981-07-01','yyyy-mm-dd');查询结果:

获取Sqlserver 的最小时间是 SqlDateTimeMinValueValue

获取Oracle的最小时间是 OracleDateTimeMinValueValue

另外注意需要引用下面这两个命名空间

using SystemDataSqlTypes;

using SystemDataOracleClient;

在Net Framewrok 中,

DateTimeMinValue = 0001/01/01 00:00:00

SqlDateTimeMinValueValue = 1753/01/01 00:00:00

OracleDateTimeMinValueValue = 0001/01/01 00:00:00

SQL Server 2005 中,

DateTime 最小值 => 1753/01/01 00:00:00

SmallDateTime 最小值 => 1900/01/01 00:00:00

以上就是关于java 获取oracle数据库中的系统时间~目的只是想从数据库取出系统时间 然后打印出来、新人求大虾们帮忙。。全部的内容,包括:java 获取oracle数据库中的系统时间~目的只是想从数据库取出系统时间 然后打印出来、新人求大虾们帮忙。。、oracle数据库 date时间类型查询昨天、前7天、前30天、前1年的数据,sql语句怎么写、Oracle如何获取延期日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9605308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存