【问题标题】:Error with syntax replacing values in the query output查询输出中的语法替换值错误
【发布时间】:2021-08-27 02:31:59
【问题描述】:

我在 SQL 数据库中工作,但我是自学成才的,所以我的知识存在一些漏洞。我有这个查询,虽然我认为很简单,但我就是做错了。

我有两列,一列是“名称”,另一列是“隐私”。

我试图得到一个结果,如果 Privacy 列中有一个数值 (3),所有这些行都将在 Name 列中返回一个“名称被抑制”。并且隐私列中所有带有 NULL 的行都被单独保留。

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

我已经尝试过、替换、case、if then 和其他一些,但都没有运气。谁能帮帮我。

谢谢 米歇尔

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: sql syntax


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:
    SELECT
        CASE
            WHEN [Privacy] IS NULL THEN [Name]
            ELSE N'name suppressed'
        END AS [Name],
        [Privacy]
    FROM
        [dbo].[YourTable]
    

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多