-1

我有一个视图表,其中我有一个这样写的查询

SELECT landNo, planNo, blockNo, parcelNo, RTRIM(LTRIM(STR(parcelNo))) AS parcelNoString,
    parcelAREA, '[ ' + blockNo + ' ]' + '  - ' + RTRIM(LTRIM(STR(parcelNo))) + '  - ' +
    RTRIM(LTRIM(STR(parcelAREA))) AS DisplayName
FROM PARCELS

所以显示名称显示为[blockNo] - parcelNo - parcelArea

现在我必须把支票放进去,如果blockNo IS NULLthenDisplayName 必须是

[] - parcelNo - parcelArea

有人可以在这方面提供帮助。

4

2 回答 2

2

尝试

'[' + COALESCE(blockNo, '') + ']'

coalesce 返回第一个非空参数,因此如果 blockNo 为空,它将返回一个空字符串 ( '')。

于 2013-05-21T20:31:54.373 回答
0

如果 blockNo 是一个字符串,普通的;

'[' + ISNULL(blockNo, '') + ']'

如果 blockNo 是数字类型,首先将其转换为字符串,否则将返回[0];

'[' + ISNULL(CAST(blockNo AS NVARCHAR), '') + ']'
于 2013-05-21T20:33:01.113 回答