« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
要勇敢面对一切不幸 |
联系方式 |
MSN:ideation_shang@hotmail.com MAIL:ideation_shang@126.com QQ :113017429 |
Blog信息
|
blog名称:ideation_shang的blog 日志总数:30 评论数量:149 留言数量:0 访问次数:666891 建立时间:2005年4月21日 |

| |
[数据库]oracle 日期类型字段的操作 原创空间
ideation 发表于 2005/6/8 16:26:22 |
在java对oracle的操作中,日期字段是很头疼的事情,其实仔细研究一下也并不难掌握。
举个例子来说明:
表 book 中有name varchar2(20)//书籍名称,buydate Date //购买日期 两个字段。
已经创建了数据库连接Connection conn;
方法一、使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期。
java.sql.Date不支持时间格式。切记不要使用new java.sql.Date(int year,int month,int date),因为还要处理时间差问题。
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08");pstmt.setString(1, "Java编程思想");pstmt.setDate(2,buydate );pstmt.execute();
方法二、使用java.sql.Timestamp,同上不使用new Timestamp(....)
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");pstmt.setString(1, "Java编程思想");pstmt.setTimestamp(2,buydate );pstmt.execute();
方法三、使用oracle 的to_date内置函数
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')");
String buydate="2004-06-08 05:33:99";pstmt.setString(1, "Java编程思想");pstmt.setString(2,buydate );pstmt.execute();
附:oracle日期格式参数 含义说明 d: 一周中的星期几 day: 天的名字,使用空格填充到9个字符 dd: 月中的第几天 ddd: 年中的第几天 dy: 天的简写名 iw: ISO标准的年中的第几周 iyyy: ISO标准的四位年份 yyyy: 四位年份 yyy,yy,y: 年份的最后三位,两位,一位 hh: 小时,按12小时计 hh24: 小时,按24小时计 mi: 分 ss: 秒 mm: 月 mon: 月份的简写 month: 月份的全名 w: 该月的第几个星期 ww: 年中的第几个星期
到此刻,你应该烦恼已消,轻松了很多吧。 |
|
回复:oracle 日期类型字段的操作 原创空间
zsslxy2006(游客)发表评论于2007/7/12 11:46:18 |
在数据库用to_date 要写成CAST(TO_DATE('1999-12-01 11:00:00', 'YYYY-MM-DD HH:MI:SS') AS TIMESTAMP),怎么会不用CAST...AS TIMESTAMP就不行呢?你的SQL语句是不是也要加上这个? |
|
回复:oracle 日期类型字段的操作 原创空间
谈java类调用机制(游客)发表评论于2007/7/5 11:11:14 |
|
回复:oracle 日期类型字段的操作 原创空间
lifeng(游客)发表评论于2006/8/20 1:53:09 |
“看过Java API知道,java.sql.Date是包括时分秒的,只不过Oracle JDBC不支持java.sql.Date类型插入时分秒,让大家误以为java.sql.Date没有时分秒。”
我想问的是,假如数据库是oracle数据库,有个字段类型是DATE类型,在数据库的值是:2005-8-1 10:11:25
我想在jsp中显示的也是:2005-8-1 10:11:25
不知道怎么做???
|
|
回复:oracle 日期类型字段的操作 原创空间
xiaoli(游客)发表评论于2006/8/20 1:49:13 |
以下引用loki(游客)在2006-3-27 13:25:10的评论:3k,It is useful to me
"看过Java API知道,java.sql.Date是包括时分秒的,只不过Oracle JDBC不支持java.sql.Date类型插入时分秒,让大家误以为java.sql.Date没有时分秒。"
那从数据库显示日期怎么做???
假如数据库是oracle里的日期为:2005-8-1 10:25:36
在jsp中显示也为:2005-8-1 10:25:36
怎么做!~~
??? |
|
回复:oracle 日期类型字段的操作 原创空间
逍遥(游客)发表评论于2006/4/9 12:26:05 |
|
回复:oracle 日期类型字段的操作 原创空间
loki(游客)发表评论于2006/3/27 13:25:10 |
|
回复:oracle 日期类型字段的操作 原创空间
路过(游客)发表评论于2005/12/3 15:36:11 |
插入不是问题,取出时sql.date是看不到时分秒的 |
|
回复:oracle 日期类型字段的操作 原创空间
过客(游客)发表评论于2005/10/25 10:05:19 |
看过Java API知道,java.sql.Date是包括时分秒的,只不过Oracle JDBC不支持java.sql.Date类型插入时分秒,让大家误以为java.sql.Date没有时分秒。 |
|
回复:oracle 日期类型字段的操作 原创空间
黄菲(游客|220.248.21.254)发表评论于2005/7/28 17:50:19 |
|
» 1 »
|