没有很多精力去仔细研究,做深入调查和研究
就把自己今天经历的记录下来,免得以后到处找,到处翻。
-
sysdate是一个时间型函数,我把它理解为时间型变量
因此,不能用select to_date(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
这种命令
当然,用了 ‘yyyy-mm-dd hh24:mi:ss’ 这种格式,那就是要把一个时间变量转换成char型。于是: -
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
是正确的 -
如果要得到当天某个确定的时间点:
select to_char(trunc(sysdate)+22*60/1440,'yyyy-mm-dd hh24:mi:ss') from dual;
得到的是今天22点这个整点 -
如果要得到第二天某个确定的时间点:
select to_char(trunc(sysdate)+1+22*60/1440,'yyyy-mm-dd hh24:mi:ss') from dual;
得到的是第二天22点这个整点
-
创建物化视图:
create materialized view v_a refresh fast on demand start with to_date('27-03-2019 00:01:00','dd-mm-yyyy hh24:mi:ss') next sysdate+1 as select * from a;
如果此刻是2019年3月26日13:30
那么,如果现在执行该命令,那么,第一次刷新,时间是 明天凌晨0点1分,接着一次刷新,就是2019年3月27日的13:30
所以,若要固定时间,一定要用trunc命令来截断。
奇怪了,自己在评论里的东西,搞了几趟却看不见 只能修改原文
在dos下,如果要显示日期格式为:20190326(避免连接符风险) 那么:
set date=%Date:~0,4%%Date:~5,2%%Date:~8,2%
echo %date%
含义是:从第0位开始取4位,从第5位开始取2位,从第8位开始取两位