[20181201]stamp 转化 time.txt --//昨天看https://jonathanlewis.wordpress.com/2018/11/27/dump-logfile/,里面提到time到stamp的转化. --//that expresses the time as the number of seconds since Jan 1988, with the unfortunate simplification that Oracle --//thinks there are 31 days in every month of the year: --//想起以前自己的一些错误.不过看看人家写time到stamp的转化,简单许多,自己按照国人的日期习惯修改如下: WITH t1 AS (SELECT TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss') tt FROM DUAL) SELECT tt time , round(86400 * ( 31 * MONTHS_BETWEEN ( TRUNC (tt, 'MM') ,TO_DATE ('1988-01-01', 'yyyy-mm-dd') ) + tt - TRUNC (tt, 'MM')),0) stamp FROM t1; --//相比我以前从网上抄的,就比较麻烦: $ cat convstamp.sql SELECT '&&1' time,(((((yyyy - 1988) * 12 + mm - 1) * 31 + dd - 1) * 24 + hh) * 60 + mi)* 60 + ss stamp FROM (SELECT TO_CHAR (TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss'), 'yyyy') yyyy ,TO_CHAR (TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss'), 'mm') mm ,TO_CHAR (TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss'), 'dd') dd ,TO_CHAR (TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss'), 'hh24') hh ,TO_CHAR (TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss'), 'mi') mi ,TO_CHAR (TO_DATE ('&&1', 'yyyy-mm-dd hh24:mi:ss'), 'ss') ss FROM DUAL); --//另外可以提一下,stamp不是连续的,特别是闰年的2月跳跃更大. SCOTT@test01p> @ convstamp '2018-02-28 23:59:59' TIME STAMP ------------------- ---------- 2018-02-28 23:59:59 969321599 SCOTT@test01p> @ convstamp '2018-03-01 00:00:00' TIME STAMP ------------------- ---------- 2018-03-01 00:00:00 969580800 --//969580800-969321599 = 259201,存在跳跃. --//顺便贴上stamp转化到时间的语句. $ cat stamp.sql SELECT &&1 stamp,to_date(yyyy||'/'||mm||'/'||dd||' '||hh||':'||mi||':'||ss,'yyyy-mm-dd hh24:mi:ss') stamp_conv_time from ( SELECT &&1 ,FLOOR (&&1 / (86400*31*12))+1988 yyyy ,FLOOR (MOD (&&1 / (86400*31),12))+1 mm ,FLOOR (MOD (&&1 / 86400, 31))+1 dd ,FLOOR (MOD (&&1 / 3600, 24)) hh ,FLOOR (MOD (&&1 / 60, 60)) mi ,MOD (&&1, 60) ss from dual); --//取969321599,969580800之间一个数值. SCOTT@test01p> set verify off SCOTT@test01p> @ stamp.sql 969580780 SELECT 969580780 stamp,to_date(yyyy||'/'||mm||'/'||dd||' '||hh||':'||mi||':'||ss,'yyyy-mm-dd hh24:mi:ss') stamp_conv_time from ( * ERROR at line 1: ORA-01839: date not valid for month specified --//报如上错误.
[20181201]stamp 转化 time.txt
来源:这里教程网
时间:2026-03-03 12:15:41
作者:
编辑推荐:
- 变与不变: Undo构造一致性读的例外情况03-03
- 怎么把word黑色边框变无色03-03
- [20181201]stamp 转化 time.txt03-03
- 删除UNDO表空间并处理ORA-01548问题03-03
- [20181201]奇怪的INDEX SKIP SCAN执行计划.txt03-03
- 把图片插到word中的两种方法03-03
- 怎么把word文字倒过来03-03
- exacheck (exadata篇)03-03
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 变与不变: Undo构造一致性读的例外情况
变与不变: Undo构造一致性读的例外情况
26-03-03 - 删除UNDO表空间并处理ORA-01548问题
删除UNDO表空间并处理ORA-01548问题
26-03-03 - Oracle二号人物将出任谷歌云CEO,或首拿AWS开刀!
Oracle二号人物将出任谷歌云CEO,或首拿AWS开刀!
26-03-03 - Oracle 程序员吐槽:永远不会再为 Oracle 工作了 !
Oracle 程序员吐槽:永远不会再为 Oracle 工作了 !
26-03-03 - Debian strings命令详解(从二进制文件中提取可读文本的实用指南)
- Linuxwwwwjs777netPHPWindows13094391112
- SQL优化案例-单表分页语句的优化(八)
SQL优化案例-单表分页语句的优化(八)
26-03-03 - Linux下执行数据泵expdp和impdp命令,字符转义案例两则
Linux下执行数据泵expdp和impdp命令,字符转义案例两则
26-03-03 - [20181120]toad看真实的执行计划.txt
[20181120]toad看真实的执行计划.txt
26-03-03 - 沃趣微讲堂 | Oracle集群技术(四):集群初始化资源层
沃趣微讲堂 | Oracle集群技术(四):集群初始化资源层
26-03-03
