首页 > 解决方案 > 如何将当前日期作为参数而不是直接在postgresql中使用?

问题描述

我的sql如下:

SELECT * FROM A WHERE  etd:: DATE -  CURRENT_DATE<= @ReminderDay

但是,我不希望CURRENT_DATE直接在这个 sql 中使用,我希望它像这样使用@ReminderDay,因为从数据库传递的当前日期可能与本地日期时间不同,所以我想要当前日期 = DateTime.Now

目前 ReminderDay 的这个参数是这样分配的:new { ReminderDay= 7 }

谢谢!


编辑:换句话说,如何在 postgresql 中将当前日期作为参数传递,而不是直接在 postgresql 中使用 CURRENT_DATE 变量?

标签: c#sqlpostgresql

解决方案


正如 Laurenz Albe 在评论中回答的那样,我发现我的问题的关键是@ReminderDay不是当前日期的类型。

这是正确的sql:

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

而这条sql的参数可以写成如下:

new {CurrentDate  = DateTime.Now, ReminderDay= 7 }

推荐阅读