用于读取第一行中所有列的SQL命令
我有一个Excel表格,第一行包含所有列的标题。我要第一行所有的名字 用于读取第一行中所有条目的SQL命令是什么 如果可能,我想定义最大限制用于读取第一行中所有列的SQL命令,sql,mysql,sql-server,excel,Sql,Mysql,Sql Server,Excel,我有一个Excel表格,第一行包含所有列的标题。我要第一行所有的名字 用于读取第一行中所有条目的SQL命令是什么 如果可能,我想定义最大限制 另外:我想列举所有的列名。您需要提到HDR=No;在您的连接字符串中。然后可以使用以下查询: Select Top 1 * from [SheetName$] HDR=No将指定第一行不包含列名 话虽如此,我不知道是否有SQL语句从表中获取列名。如果有,则可以在连接字符串中使用HDR=Yes并使用该SQL语句 Select Top 1 * into #t
另外:我想列举所有的列名。您需要提到HDR=No;在您的连接字符串中。然后可以使用以下查询:
Select Top 1 * from [SheetName$]
HDR=No将指定第一行不包含列名
话虽如此,我不知道是否有SQL语句从表中获取列名。如果有,则可以在连接字符串中使用HDR=Yes并使用该SQL语句
Select Top 1 * into #temp from [SheetName$]
use tempdb
sp_help #temp.
通过此操作,可以获得临时表的列名。同样,您必须将数据库更改为:
use yourDBName
将数据放在临时表中,读取临时表的属性,然后从中可以得到列名列表。我希望我正确理解这一点……但我想你是说要从表中选择列名:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = [YourTableName]
这在Excel中使用保存的工作簿工作,并枚举列字段名
Sub ListFieldADO()
strFile = Workbooks(1).FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
cn.Open strCon
''You can also use the name of a named range
Set rs = cn.OpenSchema(adSchemaColumns, _
Array(Empty, Empty, "Sheet1$"))
While Not rs.EOF
Debug.Print " " & rs!Column_Name
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
End Sub
如果您希望导入此数据,那么SQL有一种方法可以直接将数据导入到表中。你能澄清一下你想多完成些什么吗。我想这可能会有帮助。@Jon,我只是想列举第一行中的所有标题。也就是说,第0行从第0列到第100列的所有标题都表示。我计划将其用于显示从第1行读取的所有枚举标题的软件。不要忘记,在RDBMS中,在您对数据进行排序之前,官方不会对数据进行排序,因此没有“第一行”。+1谢谢,@Lloyd我可以用sheetname而不是table_Name吗?在我看来,我可能根本不明白这一点。我给了您在SQL Server中执行此操作的命令。看起来我们中的一些人认为这是一个SQL问题。VBA在这里似乎更合适,而且看起来Remou已经将您带到了正确的轨道上。