ORACLE SQL获取时间字段

原创 2013年12月05日 17:07:01
是本周第几天 Select to_char(sysdate,'D')-1 from dual  

24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

to_date() function

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;

to_char() function
版权声明:本文为博主原创文章,未经博主允许不得转载。

数据库表中字段时间自动更新

假设我们有个需求,在一个数据库表中,记录数据的创建时间,以及数据的更新时间,这个时候我们创建的表需要带有自动更新的字段。 我们创建一个ceshi 表,里面有四个字段 id name  creat...
  • qq_28334711
  • qq_28334711
  • 2017年02月28日 23:36
  • 2389

Oracle 11g中CLOB字段类型的数据读取

Oracle 11g中的CLOB字段类型的数据读取 LOB 类型的数据库列仅存储定位符,该定位符指向大型对象的存储位置.用DBMS_LOB程序包操纵 LOB 数据. 读取Oracle字段类型为CLO...
  • m0_37934173
  • m0_37934173
  • 2017年05月15日 11:02
  • 968

oracle 使用sql获取数据库表,表的字段

--第一种方法: 查询dba_tab_columns select COLUMN_NAME,DATA_TYPE,DATA_LENGTH  from   dba_tab_columns where  ...
  • luxideyao
  • luxideyao
  • 2013年09月26日 00:58
  • 14027

Oracle数据库中关于日期和时间字段类型

与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTE...
  • aihongmingqi
  • aihongmingqi
  • 2014年08月29日 09:09
  • 13175

Oracle 格式化日期

-- Start 所谓格式化日期指的是将日期转为字符串,或将字符串转为日期,下面几个函数可以用来格式化日期。 TO_CHAR(datetime, 'format') TO_DATE(characte...
  • shangboerds
  • shangboerds
  • 2015年06月15日 13:24
  • 10544

sql 当前时间跟数据库字段做比较

mysql 时间比较
  • u012394981
  • u012394981
  • 2015年09月10日 14:48
  • 3774

oracle 更新Clob字段

oracle 更新Clob字段的时候报 java.lang.ClassCastException: weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB   原代...
  • fhhffchffy
  • fhhffchffy
  • 2014年05月21日 19:25
  • 1947

SQL 查询获取datetime中的日期部分或者时间部分

数据库里往往采用datetime来存时间。但有时只需要知道哪一天的数据。所以在查询是需要做转换。 Select CONVERT(varchar(100), GETDATE(), 0) 结果是:05 1...
  • u014472643
  • u014472643
  • 2017年03月17日 18:45
  • 530

sql server ,mysql ,oracle 自增长字段设置以及自增长属性的修改验证

sql server ,mysql ,oracle 自增长字段设置 sql server 和mysql都有自增长的功能,而Oracle通过sequence序列,并使用触发器才能够实现自动增长 sql ...
  • weiwangsisoftstone
  • weiwangsisoftstone
  • 2015年12月30日 14:50
  • 1216

oracle 时间相加减

ORACLE 时间相加(HH:MM) 1.分钟转成不同格式的时间 数据库里有个字段 存的分钟 ① 现在想显示成HH:MM格式 假设为514分钟 SELECT to_char((to_date('...
  • wll_1017
  • wll_1017
  • 2014年03月03日 09:41
  • 8351
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE SQL获取时间字段
举报原因:
原因补充:

(最多只允许输入30个字)