如何在Azure SQL中使用OPENROWSET的文件路径模式?

iqjalb3h  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(97)

我想匹配Azure SQL数据库中“testpath/test”下的所有csv文件,其格式为“Test_2023_08_08.csv”。

SELECT TOP 10 *
FROM OPENROWSET( BULK 'testpath/test/Test_[0-9][0-9][0-9][0-9]_[0-9][0-9]_[0-9][0-9].csv'
)
AS row
WHERE DATEFROMPARTS(row.filepath(1),row.filepath(2),row.filepath(3)) BETWEEN @DATE1 AND DATE2;

字符串
但似乎不工作。

6tdlim6h

6tdlim6h1#

您可以使用通配符(*)加载多个与命名模式匹配的文件,而不是以这种方式向OPENROWSET提供模式。你能试试下面的吗?这种方法是否满足您的要求?

INSERT INTO MyTable
SELECT *
FROM OPENROWSET(
BULK 'mycontainer/Test_2023_08*.csv',
DATA_SOURCE = 'MyAzureBlobStorage',
FORMAT = 'CSV',
FORMATFILE='mycontainer/format.fmt',
FORMATFILE_DATA_SOURCE = 'MyAzureBlobStorage'
) AS DataFile;

字符串

相关问题