关于plsql:PLSQL转换函数日期字符串数字

84次阅读

共计 1421 个字符,预计需要花费 4 分钟才能阅读完成。

看完这章你会学到以下内容

  • 转换函数有那几种,通常用得最多的是那个?
  • 为什么要用转换函数?
  • 各自转换的关系,实用条件是什么?

数据类型有三类:数字,字符,日期
对应就用转换它们三种类型的函数:转换函数!

To_Date 转日期
Date 强制转换,外面肯定要有 ’-‘ 能力转换,数字只会呈现谬误,例如:

 SELECT DATE'2019-01-01' FROM DUAL;  --- 强制转换为日期格局
  SELECT TO_DATE('2019-01-01','YYYY/MM/DD') FROM DUAL;
  SELECT TO_DATE('2019-01-01','YYYY-MM-DD') FROM DUAL;
  SELECT TO_DATE('2019-01-01','YYYYMMDD') FROM DUAL;  ---- 谬误, 日期转换只有以上两种模式
  

   留神:字符或数字中的年月日必须是日期范畴内的值
   SELECT TO_DATE('2019-13-08','YYYY-MM-DD'),  -- 月份不对
          TO_DATE(20190732,'YYYY-MM-DD')       -- 天数不对
     FROM DUAL;
   -- 字符日期中有 - 或 / 转化为日期类型必须加 - 或 / 
   SELECT TO_DATE('2019-07-08','YYYYMMDD'), -- 谬误
          TO_DATE(20190708,'YYYY-MM-DD')  FROM DUAL;   --- 胜利 

To_Char() 转换为字符

 SELECT TRUNC(TO_DATE(SYSDATE),'Y') FROM DUAL;
  SELECT TO_CHAR(DATE'2019-08-30','YYYY'),   -- '2019'
       TO_CHAR(DATE'2019-08-30','YYYYMM'), -- '201908'
       TO_CHAR(DATE'2019-08-30','WW'),     -- '35'  第 35 周
       TO_CHAR(DATE'2019-08-30','IW'),     -- '35'  第 35 周(天然周)TO_CHAR(DATE'2019-08-30','Q'),      -- '3'   第 3 季度
       TO_CHAR(DATE'2019-08-30','MM'),     -- '08'
       TO_CHAR(DATE'2019-08-30','DD'),     -- '30'
       TO_CHAR(DATE'2019-08-30','D')       -- '6'   当周的第几天(星期天为第一天)FROM DUAL;

To_Number() 转化为数字

 SELECT TRUNC(TO_DATE(SYSDATE),'Y') FROM DUAL;
       SELECT TO_CHAR(DATE'2019-08-30','YYYY'),   -- '2019'
       TO_CHAR(DATE'2019-08-30','YYYYMM'), -- '201908'
       TO_CHAR(DATE'2019-08-30','WW'),     -- '35'  第 35 周
       TO_CHAR(DATE'2019-08-30','IW'),     -- '35'  第 35 周(天然周)TO_CHAR(DATE'2019-08-30','Q'),      -- '3'   第 3 季度
       TO_CHAR(DATE'2019-08-30','MM'),     -- '08'
       TO_CHAR(DATE'2019-08-30','DD'),     -- '30'
       TO_CHAR(DATE'2019-08-30','D')       -- '6'   当周的第几天(星期天为第一天)FROM DUAL;

PS:日期转数字的话:先转为字符,而后再转发为数字,最初是靠右显示。

正文完
 0