【问题标题】:How to convert an azure data factory string type variable into datetime format如何将 azure 数据工厂字符串类型变量转换为日期时间格式
【发布时间】:2021-12-12 19:29:22
【问题描述】:

** 我在 azure 数据工厂中有一个字符串类型变量,它存储查找活动中的日期时间格式** 但之后我需要将变量内的值与日期时间进行比较。如何将其转换为日期时间格式

我试过了,但我收到一个错误,我将在下面发布代码和错误

varible--string(activity('Lookup1').output.value[1].CREATED_DATE) 我创建的变量将日期时间转换为字符串变量

query-select * from sampletable where modified_date >= formatDateTime(variables('createddate'),"o")``` 这是我尝试比较并将其转换为日期时间格式的代码

ERROR “源”端发生故障。 ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=数据库操作失败并出现以下错误:''variables' 不是可识别的内置函数名。',Source=,''Type =System.Data.SqlClient.SqlException,Message='variables' 不是可识别的内置函数名。,Source=.Net SqlClient Data Provider,SqlErrorNumber=195,Class=15,ErrorCode=-2146232060,State=10, Errors=[{Class=15,Number=195,State=10,Message='variables' 不是可识别的内置函数名。,},],'

【问题讨论】:

  • 尝试用@{} 括起来variables。类似@{variables('createddate')}
  • 这是一个类似的示例查询@{concat('SELECT TOP (10) * FROM [SalesLT].[Customer] WHERE ModifiedDate <=', formatDateTime(variables('createddate'),'o'))} 尝试让我知道

标签: azure variables azure-data-factory azure-data-factory-2 azure-sql-server


【解决方案1】:

您可以按照以下示例进行尝试

@{concat('SELECT TOP (10) * FROM [SalesLT].[Customer] WHERE ModifiedDate <=', formatDateTime(variables('createddate'),'yyyy-MM-dd'))}

相当于:

SELECT TOP (10) * FROM [SalesLT].[Customer] WHERE ModifiedDate <=2021-10-27 

见官方文档:Functions in expressions


但是如果您在 formatDateTime() 函数中按照默认格式 'o' 尝试

@{concat('SELECT TOP (10) * FROM [SalesLT].[Customer] WHERE ModifiedDate <=', formatDateTime(variables('createddate'),'o'))}

您可能会看到以下错误:

尝试引用formatDateTime 并在您的数据库中生成适用于日期时间格式的查询。

【讨论】:

    猜你喜欢
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多