我正在使用以下SELECT
查询根据两列生成结果列:
SELECT colA + '(' + colB + ')' AS formattedCol from mytable WHERE ...
但是,如果colA
和colB
的值相等,我只需要colA
的值。
有没有办法在SQL中执行此操作?
答案 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 ...