0

2 つの列の減算の結果となる負の値に中かっこを追加する方法、

3つの列があるとします

        A      B           result(B-A)
-----------------------------------------
        1      4             3

        2      1            -1 [should be displayed as (1) not -1]

        9      3            (6)
-----------------------------------------
total   3      5            (4)

選択クエリでこれを行う方法は?

4

2 に答える 2

1

SQLサーバーを使用している場合は、これを試してください:

select case  
       when (b-a) < 0 then  '{ ' + substring(CONVERT(NVARCHAR,(b-a)),2,2 ) +  '}' 
       else   CONVERT(nvarchar(max),(b -a)) END as result
from table
于 2012-12-05T12:19:37.320 に答える
0

クエリ:

SQLFiddle例

SELECT
t1.A,
t1.B,
CASE WHEN t1.B-t1.A<0 
      THEN '('+CAST( (t1.B-t1.A)*-1 as varchar(5))+')'
      ELSE CAST( t1.B-t1.A as varchar(5))  END AS result
FROM tbl t1

結果:

| A | B | RESULT |
------------------
| 1 | 4 |      3 |
| 2 | 1 |    (1) |
| 9 | 3 |    (6) |
于 2012-12-05T12:35:39.930 に答える