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

DBFloat列に指数値を挿入しないでください

    指数として保存されるのではなく、Oracleの内部数値表現に保存されます。クエリを実行すると、セッションの現在の数値形式で表示されます:

    select 0.0000000555559080767 from dual;
    
                      0.0000000555559080767
    ---------------------------------------
                                    5.6E-08
    

    SQL *PlusまたはSQLDeveloperでオーバーライドできるもの:

    set numformat 999.9999999999999999999
    select 0.0000000555559080767 from dual;
    
       0.0000000555559080767
    ------------------------
        .0000000555559080767
    

    または、表示専用の場合は、値を文字列として明示的にフォーマットします。

    set numf ""
    select to_char(0.0000000555559080767, '9990.9999999999999999999') from dual;
    
    TO_CHAR(0.000000055555908
    -------------------------
        0.0000000555559080767
    

    値を取得して使用するクライアントアプリケーションがある場合は、floatとして、クライアントの言語に適したデータ型にクエリを実行する必要があります。その後、値の表示方法はクライアント次第です。

    また、float列に文字列を挿入しないでください。これは、暗黙的な変換を行うだけです。挿入の最後の引数は0.0000000555559080767である必要があります 引用された'0.0000000555559080767'ではなく 。



    1. PHPを使用したMySQLからExcelへの生成

    2. 大規模アプリケーション向けのデータパーティショニング

    3. 複数のサーバーでmysql-serverdockerコンテナーを使用してMySQLクラスターを作成する

    4. array_length()関数の2番目の引数は何ですか?