选择语句格式带空格的错误

时间:2013-05-06 06:11:13

标签: sql sql-server select

为什么在编写像这样的select语句时会出现错误 - 请注意我的表名“Personnel Number”旁边的空格/制表符/换行符 (我知道命名约定很糟糕,但我不得不这样做,因为这就是excel电子表格的样子,我必须定期导入到表格中)

SELECT md.[Personnel Number]
FROM    MainDump md
    LEFT JOIN   EthicsManagement em
    on em.[Personnel Number] = md.[Personnel Number]

我必须这样写,不要给我一个错误:

SELECT md.[Personnel Number
]
FROM    MainDump md
    LEFT JOIN   EthicsManagement em
    on em.[Personnel Number] = md.[Personnel Number
]

3 个答案:

答案 0 :(得分:1)

SELECT md.`Personnel Number`
FROM    MainDump md
    LEFT JOIN   EthicsManagement em
    on em.`Personnel Number` = md.`Personnel Number`

尝试在键盘左上方的Esc后面使用[`]键

答案 1 :(得分:1)

很明显,您的列名称包含尾随换行符。如果您完全确定无法重命名列,我不知道在列文字中输入换行符的任何其他方式比您使用的那个:

SELECT md.[Personnel Number
]

无论如何,我强烈感觉您的导入代码中存在错误。我怀疑该列是该行中的最后一列,您已将\n设置为行分隔符,但您的文件实际上使用\r\n

答案 2 :(得分:0)

我看到如果你的列名有空格,在你将其中一列设置为主键后,就会发生这种情况。

它将此添加到您的列名[列名]]

请注意双括号

所以主要观点。为避免出现此类随机错误,请勿在列名中使用空格。