【问题标题】:MATLAB ODBC SQL Server Driver SQL Server Invalid column nameMATLAB ODBC SQL Server 驱动程序 SQL Server 列名无效
【发布时间】:2016-06-21 16:16:02
【问题描述】:

执行查询时出现以下错误:

消息:'ODBC 驱动程序错误:[Microsoft][ODBC SQL Server 驱动程序][SQL 服务器]列名“SSC%”无效。'

我的查询是这样写的:

"query = 'select top 500 * from [dbo].[accu_HISTORY_CONFIG] WHERE Description LIKE "SSC%"';"

我是 MATLAB 数据库浏览器的新手。基本上我试图找到所有包含前三个字母“SSC”的“描述”。但是,我不断收到此“无效的列名”错误。我怀疑 MATLAB 将我的 "SSC%" 视为列名?我应该如何解决这个问题?任何建议将不胜感激!

【问题讨论】:

  • 对字符串文字使用单引号。 (双引号用于分隔标识符,例如列名。)...WHERE Description LIKE 'SSC%'.
  • @jarlh 感谢您的建议。是的,我试过了。事实上,最初我使用的是这种格式。但是,“%”在 Matlab 中被视为注释。如果只使用单引号,最后三个符号将变为绿色(如 cmets)
  • 也许您的环境需要双单引号? IE。 `...WHERE 描述 LIKE ''SSC%''';'

标签: sql sql-server database matlab


【解决方案1】:

' 结束了 matlab 的字符串,但您希望 ' 在您的字符串中。如果你想这样做,只需使用它两次:

query = 'select top 500 * from [dbo].[accu_HISTORY_CONFIG] WHERE Description LIKE ''SSC%'' ';

【讨论】:

    【解决方案2】:

    通常情况下,您的通配符语句会用单引号括起来。

    通常是这样

    'select top 500 * from [dbo].[accu_HISTORY_CONFIG] WHERE Description LIKE 'SSC%''
    

    如果没有,这篇帮助文章应该涵盖您需要的内容。

    https://support.microsoft.com/en-us/kb/222664

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 2016-12-12
      • 2016-01-04
      • 2016-04-23
      • 2018-04-21
      相关资源
      最近更新 更多