DateTime减少了C#

时间:2017-09-01 17:40:47

标签: c# oracle datetime plsql

我有一个Windows窗体应用程序和一个数据库。

我有2个字段,您可以输入数据。

在第二个字段中,您可以将想要从今天开始减少的月份放入。

我想制作一个oracle sql select来减少输入字段的月数。

喜欢:

SELECT * FROM <TABLE> WHERE <COLUMN> <= SYSTEM.DATETIME.TODAY - amount of months.

我的问题是它是如何计算的,如果它的01.09.2017和我输入它应该需要12个月,以便日期时间减少12个月到2016年9月1日?

4 个答案:

答案 0 :(得分:2)

如果您想在Oracle中执行此操作,则应使用此 -

ADD_MONTHS(CURRENT_DATE, -12)

但是你可以通过这样做轻松地在C#中实现相同的目标 -

DateTime.Now.AddMonths(-12)

答案 1 :(得分:1)

这是 Oracle 解决方案:

add_months(sysdate, -12 )

-12是您减去的月数。

答案 2 :(得分:0)

您可以将负数传递给DateTime.AddMonths

DateTime.Today.AddMonths(-12); // 2016-09-01

答案 3 :(得分:0)

以下是ORACLE ADDMONTHS功能的链接。

现在您需要将查询修改为

SELECT * FROM WHERE 'yourdatecolumn' <= ADD_MONTHS( CURRENT_DATE, 'noFromInoutField' )