除了用substr方法拼接還有更好的方法直接呼叫不
uj5u.com熱心網友回復:
SELECT substr('20161230',1,4)||'-'||substr('20161230',5,2)||'-'||substr('20161230',7,2) as REGDATE from dual這樣寫是不是影響效率
uj5u.com熱心網友回復:
運算式運算是無所謂效率的,不過下面這樣寫比較易讀。而且日期值不對時(比如20160230)還會報錯,一舉兩得。SELECT TO_CHAR(TO_DATE('20161230','yyyymmdd'),'yyyy-mm-dd') as REGDATE from dual
uj5u.com熱心網友回復:
這樣會好一些,肯定不會出錯
uj5u.com熱心網友回復:
-- 如果不驗證資料的有效性,只是機械的拼接,可以考慮一下正則
SQL>
SQL> with m as (
2 select '20161230' c from dual
3 )
4 select regexp_replace(c, '(....)(..)(..)','\1-\2-\3') result from m;
RESULT
----------
2016-12-30
SQL>
uj5u.com熱心網友回復:
你的方法其實速度應該是最快的,因為沒有轉型別和其他操作。2樓的方法比較安全,因為如果不是一個日期型別會報錯轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/107642.html
標籤:基礎和管理
上一篇:12c 連接問題
