sql >> データベース >  >> RDS >> Oracle

ORA-01858を参照してください:数値が予期されていた場所に非数値文字が見つかりました

    基本的に、タイムスタンプフィールドに日付を表​​す文字列を格納しようとしています。置き換える場合:

    TO_CHAR(TS, 'DD-MON-YYYY HH AM')
    

    によって

    TRUNC(TS, 'hh24')
    

    4か所すべてで機能するはずです。

    INSERT INTO ENROLLMENTS (DATE,PARTNER_NAME,ENROLLMENTS)
        SELECT   TRUNC(TS, 'hh24') AS DATE, mrch_bnft_cd, COUNT(*)
        FROM     ENROLLMENTS 
        WHERE    TS > trunc(sysdate-1/24, 'HH') + 5/24 
        AND      TS < trunc(sysdate, 'HH') + 5/24
        GROUP BY TRUNC(TS, 'hh24'), mrch
        ORDER BY TRUNC(TS, 'hh24'), mrch_bnft
    



    1. 多くの場所でGETDATE()を使用する場合、変数を使用する方が良いですか?

    2. SQL Serverの外部キー制約で信頼を復元する方法(T-SQLの例)

    3. クラスでのPDOの使用

    4. RailsコンソールはIDの配列でユーザーを検索します