7

次のクエリがあります。

    SELECT 
      CONVERT(DECIMAL(11,1),SUM(Column/1000*-1)) AS NAME,
    FROM
      Table

私が "/1000*-1" を持っている理由は、結果を 1000 単位で表示し、小数点以下 1 桁だけで反転 (負の値は正の値、負の値はその逆) したいからです。

負の値にダッシュ記号 (-) があるように、正の値の前にプラス記号 (+) を付けるにはどうすればよいですか?

4

4 に答える 4

6
SELECT 
  case 
     when CONVERT(DECIMAL(11,1),SUM(Column/1000*-1)) >= 0 
     then concat('+', CONVERT(DECIMAL(11,1),SUM(Column/1000*-1))) 
     else CONVERT(DECIMAL(11,1),SUM(Column/1000*-1)) 
  end AS NAME
FROM Table
于 2012-05-29T09:02:16.280 に答える
0
SELECT 
  REPLACE(CONCAT('+', CONVERT(DECIMAL(11,1),SUM(Column/1000*-1))), '+-', '-')
FROM
  Table

ただし、このアプローチは表示さ+0.0れます。

于 2017-08-22T22:54:27.813 に答える
0

MYSQLでは、これは機能します...

CONCAT(IF(タイムゾーン>0,'+',''),タイムゾーン)

于 2019-02-14T17:29:49.910 に答える