Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载azure复制数据活动的动态SQL_Azure_Azure Pipelines_Azure Data Factory_Azure Data Factory 2_Azure Data Explorer - Fatal编程技术网

加载azure复制数据活动的动态SQL

加载azure复制数据活动的动态SQL,azure,azure-pipelines,azure-data-factory,azure-data-factory-2,azure-data-explorer,Azure,Azure Pipelines,Azure Data Factory,Azure Data Factory 2,Azure Data Explorer,我试图在复制数据活动中创建一个动态查询,以便根据时间戳从表中提取数据。查找也会得到正确的值 我试过了 从[dbo]中选择*。t\u上次更改的表名\u日期> @{formatDateTime(活动('Lookup_获取上次更改 date').output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTHH:MM:ssZ')} 从[dbo]中选择*。t\u上次更改的表名\u日期> @{activity('Lookup_获取上次更改 date').output.fi

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

我试过了


  • 从[dbo]中选择*。t\u上次更改的表名\u日期> @{formatDateTime(活动('Lookup_获取上次更改 date').output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTHH:MM:ssZ')}


  • 从[dbo]中选择*。t\u上次更改的表名\u日期> @{activity('Lookup_获取上次更改 date').output.firstRow.lastRecordTimeStamp}


  • 从[dbo]中选择*。t\u上次更改的表名\u日期> @活动(“查找”\u上次更改 date')。output.firstRow.lastRecordTimeStamp

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

    有人能提出什么方法吗

    如果我尝试这个(它有效)
    从[dbo]中选择*t_tablename上次更改的位置\u 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 where last_changed_date>“@{activity('Lookup_Get last changed date')。output.firstRow.lastRecordTimeStamp}”


    上面的代码现在正在运行…因为这是一个日期时间,我们必须在“

    select*from[dbo].t_tablename where last_changed_date>”@{activity('Lookup_Get last changed date').output.firstRow.lastRecordTimeStamp}之间包含活动