c# - 如何将当前日期作为参数而不是直接在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 变量?
解决方案
正如 Laurenz Albe 在评论中回答的那样,我发现我的问题的关键是@ReminderDay
不是当前日期的类型。
这是正确的sql:
SELECT * FROM A WHERE etd:: DATE<= @CurrentDate + @ReminderDay * INTERVAL '1 day'
而这条sql的参数可以写成如下:
new {CurrentDate = DateTime.Now, ReminderDay= 7 }
推荐阅读
- html - 当页面为 100% 缩放时,CSS 媒体查询不起作用
- qt - QML WebEngineView 获取 HTML 元素的值未更新
- c# - 为什么列出
允许添加新子但不从列表中分配 - php - 使 Laravel 6.x/Monolog 输出先前异常的堆栈跟踪
- java - Spring / JBOSS EAP 7.3 - 每当创建新的 Jdbc 连接时如何调用 Java 类/函数?
- flutter - Flutter GridView.builder 过滤后对齐项目
- nginx - 如何配置 nginx-ingress 和 Digital Ocean 负载均衡器以接受 TCP 流量并路由到 pod
- javascript - 如何通过 JavaScript 聚焦 CSS 类中的按钮
- elastic-stack - 正常运行时间监控服务发现(在 Elastic Stack 中)
- swift - 使用 UiCollectionView 我不希望 iPhone 11 上的中央空间太大