为特定值SQL Server 2012添加不同的文本

时间:2015-03-06 08:30:18

标签: sql-server tsql

我有一个名字,主题和兄弟的桌子学生,我想要添加一个没有兄弟的文本'如果兄弟的价值是0或添加兄弟'如果学生有一个以上的兄弟。

我如何处理此请求?

对不起我的英语,我正在学习。

1 个答案:

答案 0 :(得分:1)

试试这个:

DECLARE @Table TABLE
(
  name NVARCHAR(50) ,
  subj NVARCHAR(50) ,
  brother INT
)

INSERT  INTO @Table
VALUES  ( N'a', N's1', 1 ) ,
        ( N'b', N's1', 0 ) ,
        ( N'c', N's1', NULL ) ,
        ( N'd', N's1', 1 )

SELECT  name ,
        subj ,
        brother ,
        ( CASE WHEN ISNULL(brother, 0) > 0 THEN N'brothers'
               ELSE N'without brothers'
          END ) AS brotherStatus
FROM    @Table

更新:

SELECT  name ,
        subj ,
        brother ,
        CAST(ISNULL(brother, 0) AS NVARCHAR(5))
        + ( CASE WHEN ISNULL(brother, 0) > 0 THEN N' brothers'
                 ELSE N' without brothers'
            END ) AS brotherStatus