oracle yyyy和yy,Oracle PL / SQL:SYSDATE与’DD-MMM-YY’的区别?
在Oracle中,DATE值 – 盡管名稱 – 也包含時間部分. SYSDATE包含當前日期和當前時間(最多秒).
默認情況下,Oracle工具(愚蠢地)隱藏DATE值的時間部分.如果您運行:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as sysdate
from dual;
你可以看到.
所以SYSDATE可能是2018-04-27 09:15:42而字符串(!)常量’27 -APR-18’在午夜靜默轉換為DATE值:2017-04-28 00:00:00
如果您不關心時間部分,可以使用trunc()將時間設置為午夜,trunc(sysdate)產生2018-04-27 00:00:00(如果今天是2018-04-27).請注意,trunc()不會“刪除”時間,它只會將其設置為00:00:00
不相關,但是:
你永遠不應該依賴字符串和var2:= ’27 -APR-18’之類的其他非字符類型之間的隱式轉換 – 例如我的計算機出現故障,因為我的默認NLS日期格式不同.
如果需要DATE值,請指定正確的日期文字:
var2 := DATE '2018-04-27';
要么
var2 := to_date('27-APR-18','dd-mon-rr');
要么
var2 := to_date('27-APR-18 00:00:00','dd-mon-rr hh24:mi:ss');
總結
以上是生活随笔為你收集整理的oracle yyyy和yy,Oracle PL / SQL:SYSDATE与’DD-MMM-YY’的区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统启动过程BIOS自检阶段的
- 下一篇: oracle42997,oracle与d