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

SQL数値クエリ結果を任意の小数点以下の桁数でフォーマットする

    問題は、SQLServerとOracleの両方に対して1つのクエリでこれを行う簡単な方法がないことです。

    SQLServerでこれを行う正しい方法は、STRを使用することです:

    Select STR(Amount, 18, DecimalPlaces) from myTable;
    

    Oracleでこれを行う正しい方法は、to_charを使用することです:

    SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0')) 
    from MyTable;
    

    Oracle SQLはLEN()ではなくLENGTH()を使用するため、jmsとAndrewによって提示されたクエリはOracleクエリでは機能しません。また、OracleはCast()ではなくto_char()を使用します。



    1. mysqlの特定のユーザーの合計ログイン-ログアウト時間を計算する

    2. SELECT ... FORUPDATEOFによるOracleのロック

    3. pg_table_size、pg_relation_size、pg_total_relation_sizeの違いは何ですか? (PostgreSQL)

    4. MySQL-ストアドプロシージャの結果を使用してINステートメントを定義する