#符号搞乱SQL查询

时间:2014-04-09 16:36:11

标签: mysql sql

我必须使用SQL SELECT语句来返回一些结果。我需要返回两条关于员工的信息,即员工#和员工姓名。

我已经尝试了

SELECT Employee#, EmployeeName FROM EmployeeTable

但是在MySQL中,#symbol前进的所有东西都是灰色的。那个符号搞砸了我的查询,但它是给我的表格的一部分。如何使用此员工#进行搜索而不会搞砸?谢谢。

4 个答案:

答案 0 :(得分:5)

使用反引号(`)来逃避MySQL中奇怪的列名和表名:

SELECT `Employee#`, EmployeeName FROM EmployeeTable   

或者,更好的是,首先不要在这些名称中使用特殊字符。

答案 1 :(得分:3)

对于MySQL:

SELECT `Employee#`, EmployeeName FROM EmployeeTable

对于SQL Server:

SELECT [Employee#], [EmployeeName] FROM [EmployeeTable]

这是一样的想法,但是MySQL有一个不同的分隔符来转义表名。

答案 2 :(得分:0)

SELECT [Employee#],EmployeeName FROM EmployeeTable

答案 3 :(得分:0)

符合ANSI SQL的转义列名称的方法是将列名称括在double qoutes中。 这适用于所有符合ANSI标准的DBMS - MySQL,SQL Server,Oracle等。

对于MySQL,您可以使用反引号或启用ANSI SQL mode之后

SELECT "Employee#", EmployeeName FROM EmployeeTable