首页 > 数据库 >DBA_oracle日期函数-【来自多个项目】

DBA_oracle日期函数-【来自多个项目】

时间:2024-08-30 10:04:04浏览次数:14  
标签:sysdate char 函数 DBA DD YYYY MM oracle select

select  TO_DATE(trunc(F_GXSJ),'YYYY-MONTH-DD')  from fsxx_dx_log_new      where trunc(F_GXSJ)=TO_DATE()
select  trunc(F_GXSJ)  from fsxx_dx_log_new    -- 2012-10-26
select  SUBSTR(TO_CHAR(trunc(F_GXSJ),'YYYY-MM-DD'),6,2)  from fsxx_dx_log_new   --10
select  to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')  from fsxx_dx_log_new  --2012-10-26



select trunc(sysdate,'month') 本月第一天,
trunc(last_day(sysdate)) 本月最后一天,
trunc(add_months(sysdate,-1),'month') 上月第一天,
trunc(last_day(add_months(sysdate,-1))) 上月最后一天,
trunc(add_months(sysdate,-12),'month') 去年本月第一天,
trunc(last_day(add_months(sysdate,-12))) 去年本月最后一天 from dual  


select  TO_CHAR(trunc(F_GXSJ),'YYYY-MM-DD')  from fsxx_dx_log_new
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   --   2012-12-20 14:20:27  
select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年,2012
select to_char(sysdate,'year') as nowYear   from dual;   //获取时间的年,twenty twelve
select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月,12
select to_char(sysdate,'month')    as nowMonth from dual;   //获取时间的月,12月 
select to_char(sysdate,'dd')    as nowDay    from dual;  //获取时间的日 ,20 
select to_char(sysdate,'day')    as nowDay    from dual; //获取时间的星期几 ,星期四 
select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时  ,14
select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分 ,19
select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒 ,50


5.0==trunc[截断到最接近的日期,单位为天] ,返回的是日期类型

select sysdate S1,                     
     trunc(sysdate) S2,              /*   //返回当前日期,无时分秒*/
     trunc(sysdate,'year') YEAR,     /*   //返回当前年的1月1日,无时分秒*/
     trunc(sysdate,'month') MONTH ,  /*   //返回当前月的1日,无时分秒*/
     trunc(sysdate,'day') DAY       /*    //返回当前星期的星期天,无时分秒*/
   from dual 
   
--   2012-12-20 14:28:35  2012-12-20  2012-1-1  2012-12-1  2012-12-16


6.0==round[舍入到最接近的日期](day:舍入到最接近的星期日)

select sysdate S1,
   round(sysdate) S2 ,
   round(sysdate,'year') YEAR,
   round(sysdate,'month') MONTH ,
   round(sysdate,'day') DAY from dual 

  --     2012-12-20 14:36:35    2012-12-21    2013-1-1    2013-1-1    2012-12-23
  


7.0=.查找月的第一天,最后一天

     SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,
       Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,
       Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,
       LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month
   FROM dual; 
   
   --      2012-11-1    2012-11-30 23:59:59    2012-12-1    2012-12-31 23:59:59
   

case  when to_char(yhjksj,'yyyy-mm-dd')>='2014-05-22'
            and   to_char(yhjksj,'yyyy-mm-dd hh24')<'2014-05-22 04'
      then '5-22日4点缴款量'


 AND XZQH='320500' AND IFHT='0'  
 group by  to_char(YHJKSJ,'yyyy-mm-dd hh24')
 rq<trunc(sysdate-3)
YHJKSJ>=TO_DATE('2014-12-30','YYYY-MM-DD')  
YHJKSJ>=TO_DATE('2014-06-19 09:10','YYYY-MM-DD hh24:mi')

8.0=

select to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')-2 days   from fsxx_dx_log_new 
select to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')-2 months   from fsxx_dx_log_new 
select to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')-2 years   from fsxx_dx_log_new 



每年的1月1日:  Trunc(TO_DATE('2012-05-19','YYYY-MM-DD'), 'YEAR') 
没月的第一天:  Trunc(TO_DATE('2012-05-19','YYYY-MM-DD'), 'MONTH'

   select  
   TO_DATE('2018-06-19 09:10','YYYY-MM-DD hh24:mi'),
   TO_DATE('09:10','hh24:mi'),
   TO_DATE('2014-06-19','YYYY-MM-DD'),
   TO_CHAR((TO_DATE('2014-06-19 09:10','YYYY-MM-DD hh24:mi')),'YYYY-MM-DD hh24:mi')
   from dual 
   
   2014/6/19 9:10:00    2020/3/1 9:10:00    2014/6/19    2014-06-19 09:10

【sysdate】----------------------------------

select sysdate S1,
   TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') S2 ,
   TO_CHAR(sysdate,'YYYY-MM-DD') S2 , 
   TO_CHAR(sysdate,'hh24:mi') S2 ,
   TO_DATE(sysdate) S2,
   -- 【这个不可以,报错】 TO_DATE(sysdate,'YYYY-MM-DD hh24:mi')  S3  
   TO_DATE(TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi') ,'YYYY-MM-DD hh24:mi')  ss  -- 效果却是这个:2020/3/20 11:28:00
   -- 【这个不可以,报错】 TO_DATE(TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi') ,'hh24:mi')  ss
   -- 【这个不可以,报错】 TO_DATE(TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi') ,'YYYY-MM-DD')  ss
   from dual 
   

【结果】:
1    2020/3/20 11:32:34    2020-03-20 11:32    2020-03-20    11:32    2020/3/20    2020/3/20 11:32:00


【to_timestamp】------------------------------------------

select  
to_timestamp('2018-07-15 0:0:0', 'syyyy-mm-dd hh24:mi:ss'),
to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'),
to_timestamp(to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')

from  dual;

1 15-7月 -18 12.00.00.000000000 上午    2020-03-20 11:34:48    20-3月 -20 11.34.48.000000000 上午


TO_CHAR(extended_timestamp,'yyyy-mm-dd hh24:mi:ss') a1,
TO_DATE(TO_CHAR(extended_timestamp,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') 






oracle获得当前时间的,精确到毫秒   可以指定精确豪秒的位数
select to_char(systimestamp, 'yyyymmdd hh24:mi:ss.ff ') from dual;--20120516 11:56:40.729083

SELECT *  FROM   FJFL_JKXX_TEMP  WHERE HPHM='苏JRH248'   AND   TRUNC(YHJKSJ)=TO_DATE('2014-02-27','YYYY-MM-DD') 
select * from FJFL_POS_REG  as of timestamp sysdate-15/1440
SELECT * FROM FJFL_HTLOG T WHERE RQ>TO_DATE('2015-05-12','YYYY-MM-DD') AND XZQH='321200' ORDER BY RQ  DESC
update fjfl_zt set zt='00000',rq=to_date('2013-12-09 00:00:00','yyyy-mm-dd hh24:mi:ss')

该语句可以查看每天产生日志的多少,估计我们应用的日志量,可以估计归档的大小。
select to_char(FIRST_TIME,'yyyy/mm/dd') day,count(*) from  v$log_history  group by to_char(FIRST_TIME,'yyyy/mm/dd')
order by day  desc;

------------------------------------------------------

SCN转换成时间:
select to_char(scn_to_timestamp(3998591352171),'YYYY-MM-DD HH24:MI:SS') from dual;

时间转换成SCN:
select timestamp_to_scn(to_date('2011-04-14 11:10:25','YYYY-MM-DD HH24:MI:SS')) from dual

 

标签:sysdate,char,函数,DBA,DD,YYYY,MM,oracle,select
From: https://www.cnblogs.com/bayaim/p/18388092

相关文章

  • oracle10g 11g 调整sga和pga大小
    oracle10g11g调整sga和pga大小-----------------------------------------------------------------------2024年8月22日14:18:48----bayaimn-------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++......
  • Makefile编写2--使用变量,函数
    一、使用变量1、变量值的替换其格式是“$(var:a=b)”或是“${var:a=b}”,其意思是,把变量“var”中所有以“a”字串“结尾的“a”替换成“b”字串。2、把变量的值再当成变量x=yy=za:=$($(x))3、override指示符如果有变量是通常make的命令行参数设置的,那么......
  • C++学习随笔——委托构造函数
    C++11中,引入了委托构造函数(delegatingconstructors)的概念。委托构造函数允许一个构造函数调用同一个类中的另一个构造函数,以减少代码重复。 委托构造函数的语法:classMyClass{public:MyClass(intx):value(x){//这个构造函数初始化value}M......
  • sql函数
    1.presto:1.array_position(applist_install,'com.funtomic.matchmasters')>02.split('joyit_daily_mas_cleaner','_')[3]—>presto从1开始计位(spark从0开始计位)3.日期diff:1.DATE_DIFF('day',DATE_PARSE('20220301&#......
  • 开窗函数汇总
    Function(arg1)over(partitionbyargorderbyarg<windows_expression>)1.窗口函数over()后面的为窗口函数,sum这种为分析函数.over():指定分析函数工作的数据窗口大小,窗口会随着行进行变化.window_express:窗口的边界设置.默认:[rowsbetweenunbo......
  • 禁用时钟中断并不直接保证中断处理函数能够不受时钟干扰即时执行
    实际上,关闭系统定时器(或更准确地说是禁用时钟中断)并不直接保证中断处理函数能够“不受时钟干扰即时执行”。相反,这种做法可能会带来一系列问题,包括影响系统的任务调度、时间管理、以及可能破坏其他依赖于时钟中断的功能。在Linux系统中,时钟中断(也称为节拍器中断或tick中断)扮演着......
  • C语言基础——函数详解
    目录 函数的概述1函数的概念2函数的意义 函数的定义和使用1函数的定义2函数的调用2.1在同一文件中函数定义后函数调用2.2在同一文件中函数定义前函数调用2.3调用其它文件中定义的函数2.3.1在函数调用文件中进行声明2.3.2在头文件中进行函数的声明 函......
  • 各种注意力评分函数的实现
    预备知识本文基于MXNet进行实现,需要对于注意力机制有一定初步了解。也需要对Python有足够了解。另外这里稍加说明,在注意力机制中,本质上是“注意”的位置,即加权计算后进行Softmax回归的结果。在Nadaraya-Watson核回归中,首先具有一个键值对(key-value),输入称为一个查询(query),对于......
  • 29:函数查询,添加,修改,删除
    #_*_coding:utf-8_*_importosdeffile_handle(filename,backend_data,record_list=None,type='fetch'):#type:fetchappendchangenew_file=filename+'_new'bak_file=filename+'_bak'iftype=='fetch':......
  • Oracle DB 因宿主机(Linux 虚拟机)意外关停,重启数据库步骤
    前期准备:示例的linux版本为:linux9宿主机重启后,如果之前挂载的oraclehome路径及环境变量未生效,需要先重新设置:exportORACLE_SID=FREEexportORAENV_ASK=NO./opt/oracle/product/23ai/dbhomeFree/bin/oraenv前往home路径下的bin文件夹下进行操作:cd$ORACLE_HOME/bin......