视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracleto_date()用法细节
2020-11-09 12:18:32 责编:小采
文档


to_date()与24小时制表示法及mm分钟的显示: 一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用ld

to_date()与24小时制表示法及mm分钟的显示:

一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。
如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

二、另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份
oracle中的to_date参数含义
1.日期格式参数含义说明
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 年中的第几个星期 1.日期时间间隔操作
  当前时间减去7分钟的时间
  select sysdate,sysdate - interval ’7’ MINUTE from dual
  当前时间减去7小时的时间
  select sysdate - interval ’7’ hour from dual
  当前时间减去7天的时间
  select sysdate - interval ’7’ day from dual
  当前时间减去7月的时间
  select sysdate,sysdate - interval ’7’ month from dual
  当前时间减去7年的时间
  select sysdate,sysdate - interval ’7’ year from dual
  时间间隔乘以一个数字
  select sysdate,sysdate - 8 *interval ’2’ hour from dual
2.日期到字符操作
  select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual
  select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual
  select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual
  select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual
  参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
3. 字符到日期操作
  select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
  具体用法和上面的to_char差不多。
4. trunk/ ROUND函数的使用
  select trunc(sysdate ,’YEAR’) from dual
  select trunc(sysdate ) from dual
  select to_char(trunc(sysdate ,’YYYY’),’YYYY’) from dual
5.oracle有毫秒级的数据类型
  --返回当前时间 年月日小时分秒毫秒
  select to_char(current_timestamp(5),’DD-MON-YYYY HH24:MI:SSxFF’) from dual;
  --返回当前时间的秒毫秒,可以指定秒后面的精度(最大=9)
  select to_char(current_timestamp(9),’MI:SSxFF’) from dual;
6.计算程序运行的时间(ms)
  declare
  type rc is ref cursor;
  l_rc rc;
  l_dummy all_objects.object_name%type;
  l_start number default dbms_utility.get_time;
  begin
  for I in 1 .. 1000
  loop
  open l_rc for
  ’select object_name from all_objects ’||
  ’where object_id = ’ || i;
  fetch l_rc into l_dummy;
  close l_rc;
  end loop;
  dbms_output.put_line
  ( round( (dbms_utility.get_time-l_start)/100, 2 ) ||
  ’ seconds...’ );
  end;

下载本文
显示全文
专题