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

オラクルが小数の整数部分を表示しない理由

    SQL * Plusは、デフォルトでそれを表示します(テリトリーの小数点記号を使用):

    SQL> select 1/3 from dual;
    
           1/3
    ----------
    .333333333
    

    set numformat> 行動を変えるには:

    SQL> set numformat "0D9999"
    SQL> select 1/3 from dual;
    
        1/3
    -------
     0.3333
    

    ...ここで、Dは小数点記号を表します。または、列エイリアスを使用して列フォーマットを使用することもできます:

    SQL> set numformat ""
    SQL> column answer format 0.000
    SQL> select 1/3 as answer from dual;
    
    ANSWER
    ------
     0.333
    

    他のクライアントには、デフォルトの出力を制御するさまざまな方法があります。 SQL Developerの動作はほとんど同じですが、PL / SQL Developer、Toadなどは動作しない可能性があります。

    または、クライアントに依存しないクエリの一部として数値をフォーマットすることもできます:

    SQL> select to_char(1/3, '9990D99999') from dual;
    
    TO_CHAR(1/3
    -----------
        0.33333
    

    ただし、計算するものの整数部分には十分な桁数を指定する必要があります。ゼロ未満のものは単純ですが、小数点記号の前の桁数が多すぎると、まったく表示されません。

    SQL> select to_char(100000/3, '9990D99999') from dual;
    
    TO_CHAR(100
    -----------
    ###########
    



    1. ストレージエンジンの選択:Aria

    2. すべての列に検索フィルターを実装する

    3. 外部キーを変更するにはどうすればよいですか?

    4. 値をmysqlのテーブルのすべてのフィールドと比較します