语法替换查询输出中的值时出错

Error with syntax replacing values in the query output

我在 SQL 数据库中工作,但我是自学的,所以我的知识有一些漏洞。我有这个问题,虽然我认为很简单,但我就是做不对。

我有两列,一列带有 'Name',另一列带有 'Privacy'。

我试图得到一个结果,如果隐私列中有一个数值 (3),所有这些行将在名称列中 return 和 'name suppressed'。 Privacy 列中所有带有 NULL 的行都被保留。

但我不想更新数据库,只是在查询中隐藏名称。

我试过、替换、case、if then 和其他几个都没有成功。谁能帮帮我。

谢谢 米歇尔

SELECT
    CASE
        WHEN [Privacy] IS NULL THEN [Name]
        ELSE N'name suppressed'
    END AS [Name],
    [Privacy]
FROM
    [dbo].[YourTable]

您可以使用简单的 CASE 表达式。我假设您只想在 privacy = 3 时抑制。

SELECT CASE WHEN Privacy = 3 THEN 'Name Suppressed' 
            ELSE Name
            END AS Name, Privacy
FROM TableName