【问题标题】:Select where like is not working, throwing an error message 207选择 like 不起作用的地方,抛出错误消息 207
【发布时间】:2019-05-05 20:08:04
【问题描述】:

我正在尝试使用 T-SQL 从 Visual Studio 2017 查询数据库。查询是:

Select * 
From table 
Where columnname like '0%'

错误信息如下:

消息 207,第 16 级,状态 1,第 1 行
列名“0%”无效。

由于某种原因,控制台中的like 子句是灰色的,它不像其他子句那样是蓝色的。

我想获取字节以 0 开头的所有记录,例如:

SELECT JobFileName 
FROM JobImages 
WHERE JobFileName LIKE "0%"

【问题讨论】:

  • 对问题所做的编辑隐藏了原始查询包含双引号的事实,这是导致错误的原因。
  • 这不一定是拼写错误。 完全相同的查询将在特定条件下在 SQL Server 中工作

标签: sql sql-server database tsql visual-studio-2017


【解决方案1】:

引用错误。双引号“0%”用于包裹列名。

改用单引号 '0%'

【讨论】:

    【解决方案2】:

    在带有SET QUOTED_IDENTIFIER ON 的SQL Server 中,双引号用于分隔标识符(数据库、列和表名等)。使用单引号来分隔字符串 - 无论SET QUOTED_IDENTIFIER 设置如何,这都有效:

    SELECT JobFileName FROM JobImages WHERE JobFileName LIKE '0%'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多