[20191128]date命令別名.txt

lfree發表於2019-11-27

[20191128]date命令別名.txt

--//以前工作需要建立date的別名:
$ alias zdate
alias zdate='date +'\''%Y/%m/%d %T'\'''

$ date
Wed Nov 27 08:56:23 CST 2019

$ zdate
2019/11/27 08:27:56

--//我感覺這樣更加符合國人的顯示習慣.
--//前幾天在測試ash_wait_chains.sql指令碼,裡面的時間範圍我的建議trunc(sysdate)之類的格式.
--//僅僅需要知道1/24表示1小時,1/1440表示1分鐘,1/86400表示1秒就ok了.
--//比如你需要檢視當天8:15到9:10的情況,時間可以寫成:
trunc(sysdate)+8/24+15/1440 trunc(sysdate)+9/24+10/1440

--//如果寫成"to_date('04.09.2019 07:05:09','dd.mm.yyyy hh24:mi:ss')"之類太長也比較麻煩.
--//這樣工作需要再建立一個別名,顯示如果如下格式:
trunc(sysdate)+8/24+15/1440

$ date +'trunc(sysdate)+%H/24+%M/1400+%S/86400  == %Y/%m/%d %T'
trunc(sysdate)+08/24+39/1400+13/86400  == 2019/11/27 08:39:13

--//順便修改一下以前使用單引號要轉義修改為雙引號這樣更加簡潔一些:

alias zdate="date +'%Y/%m/%d %T'"
alias zzdate="date +'trunc(sysdate)+%H/24+%M/1440+%S/86400 == %Y/%m/%d %T'"

--//測試:
$ zdate ; zzdate
2019/11/27 08:51:05
trunc(sysdate)+08/24+51/1440+05/86400 == 2019/11/27 08:51:05

SCOTT@book> select trunc(sysdate)+08/24+51/1440+05/86400 c20 from dual ;
C20
--------------------
2019-11-27 08:51:05

SCOTT@book> select trunc(sysdate)+09/24+51/1440+05/86400 c20 from dual ;
C20
--------------------
2019-11-27 09:51:05

--//不必擔心09當作8進位制.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2665803/,如需轉載,請註明出處,否則將追究法律責任。

相關文章