Oracle中获取系统时间前一天的函数为sysdate - interval '1' day

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中获取系统时间前一天的函数为sysdate - interval '1' day相关的知识,希望对你有一定的参考价值。

Oracle中获取系统时间前一天的函数为sysdate - interval '1' day
现在有一个语句to_date('0827’,’mm/dd’) 我想把语句里面的时间换成系统时间的前一天 , 该如何整合呢?

你需要的是一个什么类型?如果是日期格式,那么:to_date(to_char(sysdate–1,'dd'),'mm/dd')。如果是字符串,那就去掉前面的to_date追问

那如果想要得到系统时间前一天的8点整 该如何写语句呢?

那如果想要得到系统时间前一天的8点整 该如何写语句呢?

追答

select to_date(to_char(sysdate - 1, 'yyyy-mm-dd') || ' 08:00:00',

'yyyy-mm-dd HH24:mi:ss') as yestday
from dual;

追问

确实可行,用CONCAT 函数也可以实现,感谢!

参考技术A to_char(sysdate-1,'mm/dd'),这样就是前一天啊,
可以执行select to_char(sysdate-1,'mm/dd') from dual; 看结果

oracle之内置函数

DUAL表的用途

Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中。

--查看当前连接用户 select user from dual;

--查看当前日期、时间 select sysdate from dual;

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

--当作计算器用 select 1+2 from dual;

--查看序列值

create sequence aaa increment by 1 start with 1;
select aaa.nextval from dual;

函数主要分为两大类:

单记录函数

组函数

单记录函数

1、NVL(x1,x2)

x1和x2都式表达式,当x1为null时返回X2,否则返回x1。

2、nvl2(value1,value2,value3)  

这个函数的意思是如果value1的值为null 函数返回value3   否则函数返回value2   也就是说函数永远不会返回value1

注意的是参数value2 value3可以是除了LONG类型之外的任意数据类型。

3、NULLIF(exp1,expr2)

如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

4、Coalesce(expr1, expr2, expr3….. exprn)

返回表达式中第一个非空表达式,如果均为 NULL,则 返回 NULL 。

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

decode(字段或字段的运算,值1,值2,值3)

当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3.

 












以上是关于Oracle中获取系统时间前一天的函数为sysdate - interval '1' day的主要内容,如果未能解决你的问题,请参考以下文章

oracle获取系统日期--当前时间+前一天+当前月+前一个月

Oracle32TRUNC 截取

OracleDual表

oracle之内置函数

Oracle查询去年1月1日到去年今天的数据

oracle中关于日期的获取