如果不相等则连接列

时间:2012-01-06 05:07:00

标签: sql ms-access

我正在使用以下SELECT查询根据两列生成结果列:

SELECT colA + '(' + colB + ')' AS formattedCol from mytable WHERE ...

但是,如果colAcolB的值相等,我只需要colA的值。

有没有办法在SQL中执行此操作?

2 个答案:

答案 0 :(得分:3)

如您所知,@ Andrew,IIf由MS Access使用,所以:

SELECT IIf([colA] = [colB], [colA], [colA] & '(' & colB & ')') AS formattedCol 
FROM mytable WHERE

请注意,MS Access中的字符串连接符是&而不是+。当列为空时,使用+会导致返回null。

答案 1 :(得分:0)

SELECT CASE
    WHEN colA = colB
        THEN colA
        ELSE colA + '(' + colB + ')'
    END AS formattedCol from mytable WHERE ...