指向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.