Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将当前日期作为参数,而不是在postgresql中直接使用它?_C#_Sql_Postgresql - Fatal编程技术网

C# 如何将当前日期作为参数,而不是在postgresql中直接使用它?

C# 如何将当前日期作为参数,而不是在postgresql中直接使用它?,c#,sql,postgresql,C#,Sql,Postgresql,我的sql语句如下所示: SELECT * FROM A WHERE etd:: DATE - CURRENT_DATE<= @ReminderDay new {CurrentDate = DateTime.Now, ReminderDay= 7 } 从WHERE etd::DATE-CURRENT_DATE中选择*正如Laurenz Albe在评论中回答的那样,我发现我的问题的关键是@memberday的类型,而不是当前日期 以下是正确的sql: SELECT * FROM A

我的sql语句如下所示:

SELECT * FROM A WHERE  etd:: DATE -  CURRENT_DATE<= @ReminderDay
new {CurrentDate  = DateTime.Now, ReminderDay= 7 }

从WHERE etd::DATE-CURRENT_DATE中选择*正如Laurenz Albe在评论中回答的那样,我发现我的问题的关键是
@memberday
的类型,而不是当前日期

以下是正确的sql:

SELECT * FROM A WHERE  etd:: DATE<=  @CurrentDate + @ReminderDay * INTERVAL '1 day'

如果您将条件写为
etd::date@LaurenzAlbe,我尝试了一下,但它显示了以下错误:
42883:运算符不存在:整数+无时区的时间戳'
@LaurenzAlbe,虽然这个想法不能直接解决问题,但我根据您的响应找到了另一个解决方案。让我们考虑<代码> CurrnDyDea+@ ReimeDeTys/Coo>作为一个整体,用<代码> @ NeReMeNeReDeTys/COD>替换它们,然后NewReminderDay可以被分配如下:<代码>新{NeReMeNeReDay= DATETIME.今天. AddDays(7)} /代码>,谢谢!但我希望谁能解释原始问题。我无法回答您的原始问题,但通过使用
current_date+@memberday*INTERVAL'1 day'
@LaurenzAlbe,PostgreSQL错误得以避免,此解决方案也解决了我的原始问题!无论当前日期放在哪一侧,它实际上都可以作为参数传递,只需将@ReminderDay转换为
@ReminderDay*INTERVAL“1天”
,这就是您提供的解决方案。非常感谢@LaurenzAlbe,好的,我会编辑它。