如何将 Azure 数据工厂字符串类型变量转换为日期时间格式

How to convert an azure data factory string type variable into datetime format

** 我在 Azure 数据工厂中有一个字符串类型变量,它存储来自查找的日期时间格式 activity** 但之后我需要将变量内的值与日期时间进行比较。我怎样才能将它转换成日期时间格式

我试过了,但出现错误,我将post下面的代码和错误

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

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

ERROR 'Source' 端发生故障。 ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed with the following error: ''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' 不是可识别的内置函数名称。,},],'

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

@{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 并在您的数据库中生成适用于日期时间格式的查询。