13

レポート パッケージに合わせて、SQL クエリ内で形式を使用しようとしています。小数点以下 2 桁の通貨として表示する必要がある数値があるため、format コマンドを使用して表示しています。問題は、フォーマットもカンマを入れて千単位を区切ることであり、レポート パッケージの sum 関数はこれを処理できないため、フォーマットされた数値をテキストとして扱い、追加しません。クエリは次を使用します:-

SELECT customers.name AS "customers name", FORMAT(contracts.charge,2) AS "contracts charge" 
FROM customers
ORDER BY customers.name

(実際のクエリはもっと​​複雑ですが、これは関連する部分です)

より完全に説明するには:-

数値が 123.1 の場合、フォーマットされた出力は 123.10 となり、機能します。数値が 1234.1 の場合、フォーマットされた出力は 1,234.10 であり、

1234.10 を出力するようにクエリを説得する方法を見つける必要があります。

どうもありがとう

4

4 に答える 4

21

あなたはただできる:

REPLACE(FORMAT(contracts.charge, 2), ',', '')
于 2011-12-15T11:49:57.400 に答える
4

考えられる回避策は、フォーマットの後のコンマを置き換えることです:

REPLACE(FORMAT(contracts.charge,2),',','') AS "contracts charge"
于 2011-12-15T11:51:21.320 に答える
-1

Invertir を 10 進数に変換します。マイルへ REPLACE( REPLACE(REPLACE(FORMAT(contracts.charge,2),',','-') ,'.',',') ,'-','.') AS contract_charge

于 2014-01-30T17:47:01.607 に答える