gpt4 book ai didi

azure - 用于加载 azure 复制数据事件的动态 SQL

转载 作者:行者123 更新时间:2023-12-02 07:45:24 25 4
gpt4 key购买 nike

我正在尝试在复制数据事件中创建动态查询,以根据表中的时间戳提取数据。查找也得到了正确的值

我已经尝试过

  1. 从[dbo].t_tablename中选择*,其中last_changed_date>@{formatDateTime(activity('Lookup_Get 最后更改)date').output.firstRow.lastRecordTimeStamp,'yyyy-MM-ddTHH:mm:ssZ')}

  2. 从[dbo].t_tablename中选择*,其中last_changed_date>@{activity('Lookup_Get 最后更改日期').output.firstRow.lastRecordTimeStamp}

  3. 从[dbo].t_tablename中选择*,其中last_changed_date>@activity('Lookup_Get 最后更改日期').output.firstRow.lastRecordTimeStamp

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

有人可以建议什么是方法吗?

如果我尝试这个(它有效)select * from [dbo].t_tablename where 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, '''')

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

关于azure - 用于加载 azure 复制数据事件的动态 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60754994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com