我正试图在复制数据活动中创建一个动态查询,以根据表中的时间戳提取数据。查找也会得到正确的值
我试过
-
从[dbo].t_tablename中选择*,其中last_changed_date>@{formatDateTime(activity('Lookup_Get last changeddate'(.output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTH:MM:ssZ'(}
-
从[dbo].t_tablename中选择*,其中last_changed_date>@{activity('Lookup_Get last changeddate'(.output.firstRow.lastRecordTimeStamp}
-
从[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}'
上面的代码现在正在工作。。。由于这是一个日期时间,我们必须将活动包括在"之间