小编典典

如何查询包含方括号的列名?

sql

我有一个csv,需要将其解析为vb.net中的gridview。如果我执行SELECT
*,我将获得没有问题的数据。但是,我处于需要引用实际列名的情况。问题是,我无法控制生成csv的应用程序,并且它们将列名称括在方括号中。

我该怎么做这样的事情:

Dim cmdSelect As New OleDbCommand(SELECT "[name], [height] FROM myTable")

这样我就可以得到数据返回了吗?

因此,为了使您完全清楚:我有一个应用程序在名为myTable的表中创建带有列标题[name]和[height]的csv,而对于我来说,我一生都无法弄清楚该如何返回特别是[名称]和[高度]。


阅读 186

收藏
2021-05-16

共1个答案

小编典典

如果列名称带有方括号,则可以使用双引号将列名称引起来。下面的示例在SQL Server中进行了测试。

剧本

CREATE TABLE dbo.myTable
(
        "[name]" varchar(max) not null
    ,   "[height]" int not null
);

查询所有列

SELECT * FROM dbo.myTable

仅查询特定列

SELECT "[name]", "[height]" FROM dbo.myTable

VB.NET代码-示例1

Dim query As String = String.Format("SELECT {0}{1}{0}, {0}{2}{0} FROM dbo.myTable", """", "[name]", "[height]")
Dim cmdSelect As New OleDbCommand(query)

VB.NET代码-示例2

Dim query As String = String.Format("SELECT {0}[name]{0}, {0}[height]{0} FROM dbo.myTable", """")
Dim cmdSelect As New OleDbCommand(query)
2021-05-16