Oracle 時間格式化異常:無效數字


Oracle 時間格式化 無效數字


字段名 類型 備注
flightDate varchar 格式:yyyy-mm-dd hh24:mi:ss
  1. 查詢語句:

    select
       TO_CHAR(xxx.flightDate,'hh24:mi')
    from 
        xxx
    
  2. 查詢結果:

    SELECT
    	TO_CHAR(HANDOVER_TIME,'hh24:mi') 
    FROM
    	"T_DOA_FLIGHT_BIZ" 
    WHERE
    	HANDOVER_TIME IS NOT NULL
    > ORA-01722: 無效數字
    
    > 時間: 0.026s
    
  3. 錯誤分析:

    TO_CHAR 函數官方說明

    TO_CHAR (datetime) converts a datetime or interval value of DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, or TIMESTAMP WITH LOCAL TIME``ZONE datatype to a value of VARCHAR2 datatype in the format specified by the date format fmt.

    TO_CHAR 函數接收只能接收不接收VARCHAR類型的數據!

  4. 解決辦法:

    使用TO_DATE函數將VARCHAR類型的數據轉為DATETIME類型,然后再使用TO_CHAR。

    select
       TO_CHAR(TO_DATE(xxx.flightDate,'yyyy-mm-dd hh24:mi:ss'),'hh24:mi')
    from 
        xxx
    
  5. 總結

    graph TB 日期_varchar --TO_DATE--> 日期_datetime--TO_CHAR-->時間_varchar

    脫褲子放屁….


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM