[20181201]stamp 轉化 time.txt
[20181201]stamp 轉化 time.txt
--//昨天看裡面提到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
--//報如上錯誤.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2222414/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 『№20181201賽事B』
- ARC131F ARC Stamp
- Photo Stamp Remover – 去除圖片特徵[Windows][$17.99→0]REM特徵Windows
- [20181201]奇怪的INDEX SKIP SCAN執行計劃.txtIndex
- [20211013]19C 關於LAST SUCCESSFUL LOGIN TIME.txtAST
- Time Stamp for Mac(文字影像生成軟體) v2.25 啟用版Mac
- json轉化JSON
- 轉化率模型之轉化資料延遲模型
- 拼多多轉化率如何提升,轉化率多少合適?
- 容器和映象轉化、遷移方式【轉】
- 數字化轉型
- 什麼是數字化轉型,如何理解數字化轉型?
- Mxnet模型轉化為ncnn模型,並驗證轉化正確性模型CNN
- JAVA 執行緒狀態及轉化(轉)Java執行緒
- 再見數字化轉型:對數字化轉型的再思考
- word轉化為markdown格式
- java時間格式轉化Java
- (轉)SQL 優化原則SQL優化
- 中文簡繁體轉化
- 轉轉倉儲自動化系統實踐
- 最佳化器-RBO 的規則轉化
- 數字化轉型備受關注,為何要數字化轉型呢?
- 財務數智化轉型,怎麼轉才行?
- 類轉詞典 轉json 序列化 魔術方法JSON
- 新舊系統轉化策略
- json與字典的相互轉化JSON
- 基本資料型別轉化資料型別
- json轉化保留null欄位JSONNull
- XML轉化為json工具類XMLJSON
- 如何提高seo的轉化率
- 圖片轉化為視訊
- 跟著華為,學數字化轉型(9):業務如何數字化轉型
- 從思維轉變看數字化轉型 IT 經營
- 平臺幣轉公鏈,CoinEx也要正規化轉移?
- 數字化能做什麼?如何數字化轉型?
- 甩手工具箱:拼多多轉化率如何提高?商家又如何控制轉化率呢?
- 巨量引擘-轉化回傳APIAPI
- 數字化轉型框架如何搭建?框架