指向SQL语句

我必须从列标题中有一个点的Excel工作表中拉出数据列表。 如果我删除了一切完美的作品,但如果我保持这一点,那么我会得到一个错误消息。

工作: SELECT DISTINCT Ty FROM dbStock

不工作: SELECT DISTINCT Ty. FROM dbStock SELECT DISTINCT Ty. FROM dbStock

System.Data.OleDb.OleDbException(0x80040E14):查询expression式“Ty。”中的语法错误(缺less运算符)。

我在互联网上search,但没有find任何关于这个。 我试图把Ty. 之间''""[] ,但没有运气。

任何想法?

编辑2:只是把这个问题的答案(从评论)

解决方法是尝试一个SELECT * FROM ... 这引起了,列的名字被翻译成Ty# 。 OP可以继续这个名字…

以前

由此

 Working: SELECT DISTINCT Ty FROM dbStock Not working: SELECT DISTINCT Ty. FROM dbStock 

我认为,这个专栏的名字实际上是Ty 。 让我们引擎想,这是一个多部分限定符(如tablename.columnname )。

你可以使用

 SELECT DISTINCT Ty AS [Ty.] FROM dbStock 

如果您需要输出列名称中的点…

编辑:只是提到它:

SQL Server可以处理这个…

 declare @tbl TABLE([Ty.] INT); INSERT INTO @tbl VALUES(1),(2),(3); SELECT * FROM @tbl SELECT [Ty.] FROM @tbl 

您可以使用

 SELECT DISTINCT [Ty.] 

要么

 SELECT DISTINCT "Ty." // In this case, check if QUOTED_IDENTIFIER is set to ON.