【问题标题】:What is the proper syntax of an SQL WHERE clause [closed]SQL WHERE 子句的正确语法是什么[关闭]
【发布时间】:2023-01-06 22:15:19
【问题描述】:

概述:我有一个简单的查询,它试图检索 SENTIMENT 列 = Negative 的所有记录。但是,where 子句需要一个列名,而不是字符串。

背景信息:我正在使用 Microsoft SQL Server Management Studio 并浏览一个表。我写了以下查询 - SELECT TOP (1000) [VARNAME], [SENTIMENT], [VALUE] FROM my_table WHERE [SENTIMENT] = "Negative";

这导致错误 - "Invalid column name 'Negative'

如果我改写,查询就会运行

SELECT TOP (1000) [VARNAME], [SENTIMENT], [VALUE] FROM my_table WHERE [SENTIMENT] = [SENTIMENT];

但显然这是一个无用的查询,而不是我需要的。

问题:我不清楚为什么这个 WHERE 子句不将字符串作为其参数,而是需要一个列名。我的语法有什么问题?

【问题讨论】:

  • 请改用单引号。

标签: sql


【解决方案1】:

SQL 字符串运算符需要单引号

SELECT TOP (1000) [VARNAME], [SENTIMENT], [VALUE] FROM my_table WHERE [SENTIMENT] = 'Negative';

【讨论】:

    【解决方案2】:

    MSSQL 中的字符串使用单引号,而不是双引号。双引号用于列名。

    尝试 :

    SELECT TOP (1000) [VARNAME], [SENTIMENT], [VALUE] FROM my_table WHERE [SENTIMENT] = 'Negative';

    IT 确实使用 ORM 工作,因为它会为您添加单引号 :)

    【讨论】:

      猜你喜欢
      • 2021-09-09
      • 2016-08-29
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      相关资源
      最近更新 更多