动态SQL加载azure副本数据活动



我正试图在复制数据活动中创建一个动态查询,以根据表中的时间戳提取数据。查找也会得到正确的值

我试过

  1. 从[dbo].t_tablename中选择*,其中last_changed_date>@{formatDateTime(activity('Lookup_Get last changeddate'(.output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTH:MM:ssZ'(}

  2. 从[dbo].t_tablename中选择*,其中last_changed_date>@{activity('Lookup_Get last changeddate'(.output.firstRow.lastRecordTimeStamp}

  3. 从[dbo].t_tablename中选择*,其中last_changed_date>@activity('Lookup_Get last changeddate'(.output.firstRow.lastRecordTimeStamp

和其他选项,但它总是给出ERROR 2200,这是一个语法错误。

有人能提出什么方法吗?

如果我试试这个(有效(从[dbo].t_tablename中选择*,其中last_changed_date>'2019-11-27 16:17:00.000'

语法错误是来自SQL还是来自ADF?

假设它是SQL,在动态构建语句时,仍然需要在where子句值周围加上引号:

select * from [dbo].t_tablename where last_changed_date > **'**@{formatDateTime(activity('Lookup_Get Last changed date').output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTHH:mm:ssZ')}**'**

如果是ADF,请尝试在concat表达式中构建值:

@concat('select * from [dbo].t_tablename where last_changed_date > ''', activity('Lookup_Get Last changed date').output.firstRow.lastRecordTimeStamp, '''')

无论哪种情况,都需要在值周围加引号。

从[dbo].t_tablename中选择*,其中last_changed_date>'@{activity('Lookup_Get last changed date'(.output.firstRow.lastRecordTimeStamp}'

上面的代码现在正在工作。。。由于这是一个日期时间,我们必须将活动包括在"之间

最新更新