sql - 带单引号的 ADF 数据流连接表达式

标签 sql expression azure-data-factory google-cloud-dataflow quote

我需要使用 Azure 数据流表达式生成器生成一个 SQL 字符串,但它不允许我使用 Concat 函数在我的字符串之间添加单引号

我需要一个 SQL 字符串,如下所示

SELECT * FROM ABC WHERE myDate <= '2019-10-10'

这里 2019-10-10 来自一个参数,所以我构建的表达式如下所示

concat('SELECT * FROM ABC WHERE myDate >=','''',$ToDate,'''')

但是上面的语句无法解析表达式。

结果将作为 SQL 查询执行。 SQL 查询不允许双引号。它必须是单引号。

这可以使用数据工厂表达式轻松实现,但不能使用 Azure 数据流表达式。

最佳答案

我调用 Azure 支持,他们告诉我使用波纹管表达式可以帮助我们向列或数据添加单引号:

toString('\''+ toString(byName('col2'))+ '\'')

所以你的表达应该是:

concat('SELECT * FROM ABC WHERE myDate >=',toString('\''+ toString(byName('$ToDate'))+ '\'') )

我在日期类型 column2 中进行了测试,效果很好。 enter image description here

希望这对您有所帮助。

关于sql - 带单引号的 ADF 数据流连接表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817597/

相关文章:

Azure数据工厂无法将字符串列值转换为日期时间

mysql - SQL UPDATE 在字段/列中添加值

mysql - 可以在 UPDATE 语句中重复同一列吗?

mysql - 更新 id 给出的当前记录下方的所有记录

C++ 表达式模板

azure - 如何通过 Azure 门户连接到 VPN 内的数据库服务器?

sql - PostgreSQL 中的多维表

c# - "Or"Together Expression<Func<EntityFramework Entity, bool>> in .NET 4, Silverlight RIA 域服务

c# - 穷举搜索/生成表达式树的每个组合

Azure 数据工厂 - Oracle 源性能糟糕