oracle如何生产时间,oracle启动时间

oracle如何用sql语句调取连续n天生产时间为0的数据

--生成模拟数据

创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目网站制作、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元良庆做网站,已为上家服务,为良庆各地企业和个人服务,联系电话:18982081108

DROP TABLE t PURGE;

CREATE TABLE t AS

(SELECT TRUNC(SYSDATE+LEVEL) 日期,

round(dbms_random.value(0,2)) 生产时间

FROM DUAL

CONNECT BY LEVEL=60);

--查询

SELECT MIN(日期) 开始日期, MAX(日期) 结束日期, COUNT(*) 连续天数

FROM (SELECT 生产时间,

日期,

ROW_NUMBER() OVER(ORDER BY 日期) 序号,

COUNT(1) OVER(PARTITION BY 生产时间 ORDER BY 日期) 按生产时间分组小计

FROM t)

WHERE 生产时间 = 0

GROUP BY 生产时间, 序号 - 按生产时间分组小计

HAVING COUNT(*) 1

ORDER BY 1;

oracle数据库怎么表示时间

Oracle中如何获取系统当前时间

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

ORACLE里获取一个时间的年、季、月、周、日的函数

select to_char(sysdate, 'yyyy' ) from dual; --年

select to_char(sysdate, 'MM' ) from dual; --月

select to_char(sysdate, 'dd' ) from dual; --日

select to_char(sysdate, 'Q') from dual; --季

select to_char(sysdate, 'iw') from dual; --周--按日历上的那种,每年有52或者53周

/*

hh 小时(12)

hh24 小时(24)

Mi 分

ss 秒

D 周中的星期几

ddd 年中的第几天

WW 年中的第几个星期

W 该月中第几个星期 --每年的1月1号至1月7号为第一周,以此类推,每年53周

*/

获取系统日期: SYSDATE()

格式化日期:

TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)

  或 TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS)

select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;

select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual

select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh24:mi:ss') from dual

而如果把上式写作:

select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh:mi:ss') from dual

则会报错,因为小时hh是12进制,14为非法输入,不能匹配。

转换的格式:

表示 year 的:

y 表示年的最后一位 、

yy 表示年的最后2位 、

yyy 表示年的最后3位 、

yyyy 用4位数表示年

表示month的:

mm 用2位数字表示月 、

mon 用简写形式, 比如11月或者nov 、

month 用全称, 比如11月或者november

表示day的:

dd 表示当月第几天 、

ddd 表示当年第几天 、

dy 当周第几天,简写, 比如星期五或者fri 、

day 当周第几天,全称, 比如星期五或者friday

表示hour的:

hh 2位数表示小时 12进制 、

hh24 2位数表示小时 24小时

表示minute的:

mi 2位数表示分钟

表示second的:

ss 2位数表示秒 60进制

表示季度的:

q 一位数 表示季度 (1-4)

另外还有ww 用来表示当年第几周 w用来表示当月第几周。

当前时间减去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 '7' hour from dual;

select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual; 年 月 日 24制小时 分 秒 上/下午 星期中文;

--获取11月天数--select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;

--获取12月天数--select to_char(last_day(to_date('2010-12-1','YYYY-MM-DD')),'DD') from dual;

显示上个礼拜一到礼拜日 SELECT to_char(SYSDATE,'yyyymmdd')-to_number(to_char(SYSDATE,'d')-1) - 6, to_char(SYSDATE,'yyyymmdd')-to_number(to_char(SYSDATE,'d')-1) from dual

Oracle数据库,怎么让日期字段自动添加日期

在Oracle数据库,可以通过字段定义缺省值,实现在往表中插入数据时,如果不指定为该字段赋值,自动写入缺省值。

示例:

CREATE TABLE XXX(

SUM_MONTH VARCHAR2(10) DEFAULT TO_CHAR(SYSDATE,'YYYYMM'),--缺省,设置数据月份

LOAD_DATE DATE DEFAULT SYSDATE--缺省,设置加载时间

);

也可以通过修改已建的表的定义,为现存的表字段增加设置。

如何在oracle表中插入系统时间

有关日期的操作中,更多的是涉及系统当前时间,用sysdate表示即可,如果是插入其他非系统时间的日期类型数据的话,用to_date转换再插入就可以了。

例:1 insert into 表(c_date) values(to_date('20120927 20:09:47','YYYYMMDD HH24:MI:SS'));

另外:有些日期字段中会有一些默认数据,所以to_date还是挺有用的。如:

1 startdate date DEFAULT to_date('2000-01-01','yyyy-mm-dd')!

oracle怎么获取时间?

使用:select to_date('2015-07-27 16:28:20','yyyy-MM-dd HH24:mi:ss') from dual;

不使用:select to_date('2015-07-27 16:28:20','yyyy-MM-dd HH24:mm:ss') from dual;

原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。


网站栏目:oracle如何生产时间,oracle启动时间
本文来源:http://ybzwz.com/article/hcpedo.html