2010-03-30 62 views
1

使用此SQL查询时: “Select * from table_name”如何使用名称中包含空格的表格中的“选择”语句?

如果表名包含空格,会发生什么情况?是否有一个特殊的SQL sintax用于选择一个名称如“Author Code”的表?

+0

哪个数据库? – 2010-03-30 20:33:08

+0

访问,Oracle和SQLServer2005。这是一个可怕的应用程序! – 2010-03-30 20:44:18

回答

9

这取决于您正在使用哪个数据库。

  • 对于SQL Server,你可以使用方括号:[我表]
  • 对于MySQL,你可以使用反引号:`我Table`
  • 对于Oracle您可以使用引号: “我的表”
+1

+1,用于指出SQL之间的差异 – AdaTheDev 2010-03-30 20:39:34

3

是的,使用方括号SELECT * FROM [Author Code]

+0

我测试了它:适用于Access和SQLServer:D:D:D – 2010-03-30 20:57:36

1

SQL中的任何对象都可以有任何名称。你只需要在它周围放上方括号。 [Like this][^[email protected]*@# EVEN THIS @#(*@#)]或甚至[SELECT]

我经常在列别名中使用它,以使我的报告成为可能。

select 
    c.first_name + ' ' + c.last_name as [Customer Name], 
    o.order_number as [Order #], 
    o.total_amount as [Total Amount], 
    o.order_date as [Date] 
from 
    customer c 
    order o ON o.customer_id = c.customer_id 
.... 
相关问题