Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于读取第一行中所有列的SQL命令_Sql_Mysql_Sql Server_Excel - Fatal编程技术网

用于读取第一行中所有列的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

我有一个Excel表格,第一行包含所有列的标题。我要第一行所有的名字

用于读取第一行中所有条目的SQL命令是什么

如果可能,我想定义最大限制


另外:我想列举所有的列名。

您需要提到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已经将您带到了正确的轨道上。