使用 TSQL 连接错误

Llo*_*nks 3 t-sql sql-server bulkinsert

下面的代码有什么问题?

BULK INSERT test
FROM 'myfile_'+ CONVERT(VARCHAR(20), GETDATE(), 112) + '.TXT'
    WITH
    (FIRSTROW = 2,
     FIELDTERMINATOR = '~',
     ROWTERMINATOR = '\n')
     
Run Code Online (Sandbox Code Playgroud)

谢谢

Mic*_*son 5

您无法在批量插入语句中动态地将日期连接到文件名...

如果你想这样做,你必须使用动态 Sql 构建语句然后执行它:

DECLARE @Sql NVARCHAR(MAX)
SET @Sql = 
'BULK INSERT test
FROM ''myfile_' + CONVERT(VARCHAR(20), GETDATE(), 112) + '.TXT''
    WITH
    (FIRSTROW = 2,
     FIELDTERMINATOR = ''~'',
     ROWTERMINATOR = ''\n'')'

EXEC(@Sql)
Run Code Online (Sandbox Code Playgroud)