动态 SQL 加载 azure 副本数据 activity
Dynamic SQL to Load azure copy data activity
我正在尝试在副本数据 activity 中创建一个动态查询,以根据 table 中的时间戳提取数据。查找也得到正确的值
我试过了
select * 来自 [dbo].t_tablename 其中 last_changed_date >
@{formatDateTime(activity('Lookup_Get 最后修改
日期').output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTHH:mm:ssZ')}
select * 来自 [dbo].t_tablename 其中 last_changed_date >
@{activity('Lookup_Get 最后修改
日期').output.firstRow.lastRecordTimeStamp}
select * 来自 [dbo].t_tablename 其中 last_changed_date >
@activity('Lookup_Get 最后修改
日期').output.firstRow.lastRecordTimeStamp
和其他选项,但它总是给出错误 2200,这是一个语法错误。
有人可以建议方法是什么吗?
如果我试试这个(它有效)
select * 来自 [dbo].t_tablename 其中 last_changed_date >'2019-11-27 16:17:00.000'
语法错误是来自 SQL 还是来自 ADF?
假设是SQL,动态构建语句时,where子句值两边还需要's(引号):
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('select * from [dbo].t_tablename where last_changed_date > ''', activity('Lookup_Get Last changed date').output.firstRow.lastRecordTimeStamp, '''')
无论哪种情况,您都需要在值周围加上引号。
select * 来自 [dbo].t_tablename 其中 last_changed_date > '@{activity('Lookup_Get Last changed date').output.firstRow.lastRecordTimeStamp} '
上面的代码现在可以工作了...因为它是一个日期时间,我们必须在“”
之间包含 activity
我正在尝试在副本数据 activity 中创建一个动态查询,以根据 table 中的时间戳提取数据。查找也得到正确的值
我试过了
select * 来自 [dbo].t_tablename 其中 last_changed_date > @{formatDateTime(activity('Lookup_Get 最后修改 日期').output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTHH:mm:ssZ')}
select * 来自 [dbo].t_tablename 其中 last_changed_date > @{activity('Lookup_Get 最后修改 日期').output.firstRow.lastRecordTimeStamp}
select * 来自 [dbo].t_tablename 其中 last_changed_date > @activity('Lookup_Get 最后修改 日期').output.firstRow.lastRecordTimeStamp
和其他选项,但它总是给出错误 2200,这是一个语法错误。
有人可以建议方法是什么吗?
如果我试试这个(它有效) select * 来自 [dbo].t_tablename 其中 last_changed_date >'2019-11-27 16:17:00.000'
语法错误是来自 SQL 还是来自 ADF?
假设是SQL,动态构建语句时,where子句值两边还需要's(引号):
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('select * from [dbo].t_tablename where last_changed_date > ''', activity('Lookup_Get Last changed date').output.firstRow.lastRecordTimeStamp, '''')
无论哪种情况,您都需要在值周围加上引号。
select * 来自 [dbo].t_tablename 其中 last_changed_date > '@{activity('Lookup_Get Last changed date').output.firstRow.lastRecordTimeStamp} '
上面的代码现在可以工作了...因为它是一个日期时间,我们必须在“”
之间包含 activity