从oracle中取出的日期格式为:2003-10-10 00:00:00.0

xyslim 2004-01-20 10:33:33
通过jdbc与oracle连接,用rs.getstring(dDate)得到串的格式2003-10-10 00:00:00.0,请问这是怎么回事?如何可以得到不带最后两位(.0)的格式。
...全文
876 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangrong001 2004-01-29
  • 打赏
  • 举报
回复
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss') from dual;
vrv0129 2004-01-29
  • 打赏
  • 举报
回复
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff1') from dual;
...
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff9') from dual;

select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff6') from dual=select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ssxff') from dual
vrv0129 2004-01-29
  • 打赏
  • 举报
回复
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff1') from dual;
...
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff') from dual;

select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff6') from dual=select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ssxff') from dual
vrv0129 2004-01-29
  • 打赏
  • 举报
回复
select to_char(sysdate,'YYYY-MM-DD HH24:MM:SS') from dual
sanoul 2004-01-29
  • 打赏
  • 举报
回复
beckhambobo 你也太厉害了
jjxlcsw 2004-01-29
  • 打赏
  • 举报
回复
9i的确强了很多
flyerlxg 2004-01-29
  • 打赏
  • 举报
回复
study and help you up
hahatroy 2004-01-25
  • 打赏
  • 举报
回复
还是9i的功能强大,决定升级了
liuyi8903 2004-01-23
  • 打赏
  • 举报
回复
up:)
beckhambobo 2004-01-20
  • 打赏
  • 举报
回复
怎么样从数据库中获得毫秒
[A]9i以上版本,有一个timestamp类型获得毫秒,如
SQL>select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssxff') time1,
to_char(current_timestamp) time2 from dual;

TIME1 TIME2
----------------------------- ----------------------------------------------------------------
2003-10-24 10:48:45.656000 24-OCT-03 10.48.45.656000 AM +08:00
可以看到,毫秒在to_char中对应的是FF。
8i以上版本可以创建一个如下的java函数
SQL>create or replace and compile
java source
named "MyTimestamp"
as
import java.lang.String;
import java.sql.Timestamp;

public class MyTimestamp
{
public static String getTimestamp()
{
return(new Timestamp(System.currentTimeMillis())).toString();
}
};
SQL>java created.
注:注意java的语法,注意大小写
SQL>create or replace function my_timestamp return varchar2
as language java
name 'MyTimestamp.getTimestamp() return java.lang.String';
/
SQL>function created.
SQL>select my_timestamp,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') ORACLE_TIME from dual;
MY_TIMESTAMP ORACLE_TIME
------------------------ -------------------
2003-03-17 19:15:59.688 2003-03-17 19:15:59
如果只想获得1/100秒(hsecs),还可以利用dbms_utility.get_time
iwantsay 2004-01-20
  • 打赏
  • 举报
回复
这是由于rs将得到日期值精确到了毫秒级再转成字符串返回。
你在SQL通过日期格式转成字符串后,就不会出现这种情况了。
myx7852 2004-01-20
  • 打赏
  • 举报
回复
to_char(sysdate,'YYYY-MM-DD')
xyslim 2004-01-20
  • 打赏
  • 举报
回复
可是为什么会出现这种情况?
welyngj 2004-01-20
  • 打赏
  • 举报
回复
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
baojianjun 2004-01-20
  • 打赏
  • 举报
回复
Oracle 系統所提供的日期類型的最精確時間為秒,因此.0是無法顯示出來的
sanoul 2004-01-20
  • 打赏
  • 举报
回复
select to_char(sysdate,'YYYY-MM-DD') from dual

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧