trunc

oracle中处理日期大全

限于喜欢 提交于 2020-01-24 08:15:14
oracle自带的函数很多很好用。   24小时格式下时间范围为: 0:00:00 - 23:59:59....   12小时格式下时间范围为: 1:00:00 - 12:59:59 ....   1.日期和字符转换函数用法(to_date,to_char)   2.select to_char( to_date(222,'J'),'Jsp') from dual   显示Two Hundred Twenty-Two   3.求某天是星期几 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual; 星期一 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; monday   设置日期语言 ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';   也可以这样 TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')   4.两个日期间的天数 select floor(sysdate - to_date('20020405','yyyymmdd'

ORACLE TRUNC()函数

試著忘記壹切 提交于 2020-01-21 10:23:38
TRUNC():类似截取函数,按指定的格式截取输入的数据。 1.【trunc(for dates)】TRUNC()函数处理日期 语法格式:TRUNC(date[,fmt])   其中:date 一个日期值;fmt 日期格式。 该日期将按指定的日期格式截取;忽略它则由最近的日期截取。 示例: select trunc(sysdate) from dual;--2017/2/13,返回当前时间 select trunc(sysdate,'yy') from dual;--2017/1/1,返回当年第一天 select trunc(sysdate,'mm') from dual;--2017/2/1,返回当月的第一天 select trunc(sysdate,'d') from dual;--2017/2/12,返回当前星期的第一天,即星期天 select trunc(sysdate,'dd') from dual;--2017/2/13,返回当前日期,今天是2017/2/13 select trunc(sysdate ,'HH24') from dual;--2017/2/13 15:00:00,返回本小时的开始时间 select trunc(sysdate ,'MI') from dual;--2017/2/13 15:13:00,返回本分钟的开始时间 2.【TRUNC(for

虚线 转 不得闲

霸气de小男生 提交于 2020-01-19 16:38:16
procedure DrawVirtualLine(Cvs: TCanvas;FromP,ToP: TPoint); var i: integer; Xl: Single; x,y: Integer; begin Cvs.MoveTo(FromP.x,FromP.y); if FromP.x = ToP.X then begin i := FromP.Y; while i <= ToP.Y do begin Cvs.LineTo(FromP.x,i + 1); Cvs.MoveTo(FromP.X,i+4); Inc(i,4); end; end else if FromP.Y = ToP.Y then begin i := FromP.X; while i <= Top.X do begin Cvs.LineTo(i + 1,FromP.y); Cvs.MoveTo(i + 4,FromP.y); Inc(i,4); end; end else begin Xl := (ToP.Y - FromP.Y)/(ToP.X - FromP.x); if Abs(xl) >= 1 then begin i := FromP.x; y := FromP.Y; if FromP.X < ToP.X then while i <= ToP.X do begin Cvs.LineTo(i + 1

dual虚拟表的基础语句

限于喜欢 提交于 2020-01-11 04:59:50
dual虚拟表是为了完成select的语法 –获取系统时间 select sysdate from dual; –获取系统日期 select current_timestamp from dual; –将日期转换成字符串 select to_char(sysdate,‘yyyy-mm-dd hh24’) from dual; – 将字符串转换成日期 select to_date(‘2019-09-11’,‘yyyy-mm-dd’) from dual; –添加月份 select add_months(sysdate,3) from dual; –获取一个月中的最后一天 select last_day(to_date(‘2018-08-08’,‘yyyy-mm-dd’)) from dual; –计算两个日期之间的月份差 select months_between(sysdate,to_date(‘2018-08-08’,‘yyyy-mm-dd’)) from dual; – 计算下个星期的具体日期 select next_day(sysdate,1) from dual; select next_day(to_date(‘2018-08-08’,‘yyyy-mm-dd’),1) from dual; –extract 获取部分日期 –获取年 月 日 select sysdate

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

拟墨画扇 提交于 2020-01-08 03:17:22
1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。 1 select trunc(123.98)from dual; 2 select trunc(123.123,2)from dual; 3 select trunc(123.123,-1)from dual; 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。 1.2trunc函数处理日期 trunc函数返回以指定元元素格式截去一部分的日期值。 其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输入的一个日期值 fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况: 1 trunc(sysdate,

oracle及Java日期格式

微笑、不失礼 提交于 2020-01-07 04:27:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如果想转化为2005-07-05 的格式,则需要使用类 SimpleDateFormat SimpleDateFormat formatt= new SimpleDateFormat("yyyy-MM-dd") ; Date date =new Date(); System.out.println(formatt.format(date)); 则打印出的格式为:2005-07-07 SimpleDateFormat formatt= new SimpleDateFormat("yyyy-MMMM-dd") ; Date date =new Date(); System.out.println(formatt.format(date)); 则打印出的格式为:2005-七月-07 --------------------------- Oracle的默认日期格式 SQL> select sysdate from dual ; SYSDATE ---------- 07-7月-05 用to_char转化为yyyy-mm-dd的格式 SQL> select to_char(sysdate,'yyyy-mm-dd') Time from dual ; TIME ---------- 2005-07-07

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

半世苍凉 提交于 2020-01-06 04:38:47
1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。 1 select trunc(123.98)from dual; 2 select trunc(123.123,2)from dual; 3 select trunc(123.123,-1)from dual; 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。 1.2trunc函数处理日期 trunc函数返回以指定元元素格式截去一部分的日期值。 其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输入的一个日期值 fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况: 1 trunc(sysdate,

oracle存储过程--动态sql执行

好久不见. 提交于 2019-12-27 11:54:08
create or replace procedure MKT_TO_HUAXIAO_ROWNUM(i_size in number, i_campaign_id in varchar2) is v_count number(16); --变量 每个地市总数 v_str_sql varchar2(4000); v_all_count number(16) default 0; --所有地市当前月派单总数 v_difference_value number(16) default 0; --差值 current_count number(16) default 0; --当前月派单总数 begin for r in (select group_id from mkt_sregioncode where group_id != '17' and group_id != '10042') loop v_str_sql := 'select count(1) from dbsalesadm.mk_task_info_' || r.group_id || ' where act_id =' || i_campaign_id || ' and create_Date between trunc(add_months(last_day(sysdate), -1) + 1, ''dd'') and

Oracle Job定时任务的使用详解

烈酒焚心 提交于 2019-12-23 17:58:07
oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据 一 1.创建一张测试表 -- Create table create table A8 ( a1 VARCHAR2(500) ) tablespace DSP_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited ); 2.创建存储过程 实现向测试表插入数据 create or replace procedure proc_add_test as begin insert into a8 values (to_char(sysdate, 'yyyy-mm-dd hh:mi'));/*向测试表插入数据*/ commit; end; 3.创建job定时任务 实现自动调用存储过程(当前时间 17:03) declare job number; BEGIN DBMS_JOB.SUBMIT( JOB => job, /*自动生成JOB_ID*/ WHAT => 'proc_add_test;', /*需要执行的存储过程名称或SQL语句*/ NEXT_DATE => sysdate+3/(24*60)

sql to_char 日期转换字符串

喜你入骨 提交于 2019-12-22 01:07:30
sql to_char 日期转换字符串 1、转换函数 与date操作关系最大的就是两个转换函数:to_date(),to_char() to_date() 作用将字符类型按一定格式转化为日期类型: 具体用法:to_date(‘2004-11-27’,‘yyyy-mm-dd’),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。 如;to_date(‘2004-11-27 13:34:43’, ‘yyyy-mm-dd hh24:mi:ss’) 将得到具体的时间 多种日期格式: YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 MM:01~12的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三位字符的月份缩写 WW:一年中的星期 D:星期中的第几天 DD:月份中的第几天 DDD:年所中的第几天 DAY:九个字符表示的天的全称,右边用空格补齐 HH,HH12:一天中的第几个小时,12进制表示法 HH24:一天中的第几个小时,取值为00~23 MI:一小时中的分钟 SS:一分钟中的秒 SSSS:从午夜开始过去的秒数 to_char():将日期转按一定格式换成字符类型 SQL> select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) time from dual; TIME 2004