201917 Oracle中to_date to_char的区别

没有很多精力去仔细研究,做深入调查和研究
就把自己今天经历的记录下来,免得以后到处找,到处翻。

  1. sysdate是一个时间型函数,我把它理解为时间型变量
    因此,不能用 select to_date(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
    这种命令
    当然,用了 ‘yyyy-mm-dd hh24:mi:ss’ 这种格式,那就是要把一个时间变量转换成char型。于是:

  2. select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 是正确的

  3. 如果要得到当天某个确定的时间点:
    select to_char(trunc(sysdate)+22*60/1440,'yyyy-mm-dd hh24:mi:ss') from dual;
    得到的是今天22点这个整点

  4. 如果要得到第二天某个确定的时间点:select to_char(trunc(sysdate)+1+22*60/1440,'yyyy-mm-dd hh24:mi:ss') from dual;
    得到的是第二天22点这个整点
    在这里插入图片描述

  5. 创建物化视图:

    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位开始取两位

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值