【问题标题】:special character in column name列名中的特殊字符
【发布时间】:2026-02-19 07:15:01
【问题描述】:

我正在处理一个表格,其中某些列具有特殊字符。 我通过连接字符串中的列名来创建视图,并且在执行它时,它在执行语句中给出错误为“无效的列名”。我尝试用转义字符转义那些,但它没有用。尝试将“&”作为列名中“&”的转义字符。 请帮忙。

【问题讨论】:

  • “特殊字符”是什么意思?您是否使用N' 为您的字符串添加前缀?您可以发布用于创建视图的 sql 吗?
  • table.[funky&name]?
  • @SébastienSevrin 我在列名中有一些与号和一些单引号。尝试使用 N',但没有用。
  • 好的,我以为你使用的是 unicode 字符。那么方括号应该可以解决您的问题。
  • @SébastienSevrin 也试过方括号!不工作!

标签: sql-server view sql-server-2008-r2 special-characters


【解决方案1】:

根据特殊字符,您可以通过在列名周围放置方括号来解决此问题:

CREATE TABLE dbo.result([!"£$%^&*()] int,[{}:@~#';'] varchar(50),[<>?/.,] int)

您可以为此目的使用QUOTENAME 函数:

SELECT QUOTENAME('!"£$%^&*')

【讨论】:

    【解决方案2】:

    你能详细说一下吗?这些是什么特殊字符?

    您可以将列名放入 [ ]

    【讨论】: