【发布时间】:2022-01-06 14:53:27
【问题描述】:
我在 Azure SQL 数据库中有一个简单的存储过程,它采用 datetime 类型的单个参数:
CREATE PROCEDURE [dbo].[DeleteLogRecs]
(@pSinceBefore datetime)
我想从一个 Azure 逻辑应用程序调用它,传递一个现在 -3 天的日期值,所以我有以下操作:
"Execute_stored_procedure_(V2)": {
"inputs": {
"body": {
"pSinceBefore": "@{convertFromUtc(addDays(utcNow(),-3),'GMT Standard Time')}"
},
"host": {
"connection": {
"name": "@parameters('$connections')['sqldw']['connectionId']"
}
},
我的问题是,我收到以下错误:
“状态”:400,
"message": "将数据类型 nvarchar 转换为 datetime 时出错。\r\nclientRequestId: dbbd2502-899f-4812-a942-4c11bbed4c1b",
“错误”:{
"message": "将数据类型 nvarchar 转换为 datetime 时出错。"
谁能看出我哪里出错了?
【问题讨论】:
-
您输入的 nvarchar 是来自逻辑应用程序吗?尝试将其更改为日期时间
-
你的值精确到1/1000000秒,
datetime只精确到1/300秒;它不会接受这样的字符串值,因为它无法存储它。也许您应该使用datetime2(7)。
标签: sql-server azure-sql-database azure-logic-apps