Oracle SQL:如何查询没有标题/列名称的CSV?

时间:2016-07-07 16:37:22

标签: sql oracle csv

我有第三方工具,它使用CSV文本驱动程序,允许对导入工具的CSV数据执行SQL查询。大多数Oracle SQL查询都在这方面工作,而许多人不知道。

我有一个要求,我必须使用没有列名或标题字段的CSV文件读取数据并将其导入工具。如何在没有定义列名或标题的表上执行SQL查询?

样本表:

set.seed(42)       # because I use `sample`, o/w unnecessary
df1 <- data.frame(n = sample(5, size = 10, replace = TRUE))
str(df1)
# 'data.frame': 10 obs. of  1 variable:
#  $ n: int  5 5 2 5 4 3 4 1 4 4

df2 <- data.frame(n = 1:5, txt = LETTERS[5:9], stringsAsFactors = FALSE)
str(df2)
# 'data.frame': 5 obs. of  2 variables:
#  $ n  : int  1 2 3 4 5
#  $ txt: chr  "E" "F" "G" "H" ...

2 个答案:

答案 0 :(得分:0)

您可能需要在运行查询之前添加标头。是否有一个表格,数据最终会以最终结束?如果是这样,您可以先从那里导出列名,然后将CSV信息附加到新创建的文件中。

答案 1 :(得分:0)

显然,您可以在使用CSV SQL文本驱动程序与CSV文件进行交互时指定CSV文件是否有标题。

jdbc:csv:////<path_to_file>/?_CSV_Header=false;

然后,我们可以有一个像

这样的查询
select distinct (column1) as accountID, (column2) as groupID from csv_file_name

参数(column1), (column2)...从左到右表示文件中的实际列,并且必须像这样写入以使查询起作用。