SQL Server 中的 DECODE() 函数

2022-01-01 00:00:00 sql sql-server-2005 oracle sql-server
SELECT PC_COMP_CODE,
       'R',
       PC_RESUB_REF,
       DECODE(PC_SL_LDGR_CODE, '02', 'DR', 'CR'),
       PC_DEPT_NO DEPT,
       '', --PC_DEPT_NO,
       PC_SL_LDGR_CODE + '/' + PC_SL_ACNO,
       SUM(DECODE(PC_SL_LDGR_CODE, '02', 1, -1) * PC_AMOUNT),
       PC_CHEQUE_NO CHQNO
  FROM GLAS_PDC_CHEQUES
 WHERE PC_RESUB_REF IS NOT NULL 
   AND PC_DISCD NOT IN ('d', 'D', 'T') 
GROUP BY PC_RESUB_REF, 
         PC_COMP_CODE, 
         'JJ', 
         PC_SL_LDGR_CODE + '/' + PC_SL_ACNO, 
         PC_DEPT_NO, 
         PC_CHEQUE_NO, 
         DECODE(PC_SL_LDGR_CODE, '02', 'DR', 'CR')

以上是Oracle查询;如何在 SQL Server 2005 中使用 DECODE() 函数?

Above is a Oracle query; how can I use DECODE() function in SQL Server 2005?

推荐答案

您可以在 SQL 中使用CASE .. WHEN .. THEN .. ELSE .. END"语法.

You could use the 'CASE .. WHEN .. THEN .. ELSE .. END' syntax in SQL.

相关文章