我有一个Windows窗体应用程序和一个数据库。
我有2个字段,您可以输入数据。
在第二个字段中,您可以将想要从今天开始减少的月份放入。
我想制作一个oracle sql select来减少输入字段的月数。
喜欢:
SELECT * FROM <TABLE> WHERE <COLUMN> <= SYSTEM.DATETIME.TODAY - amount of months.
我的问题是它是如何计算的,如果它的01.09.2017和我输入它应该需要12个月,以便日期时间减少12个月到2016年9月1日?
答案 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' )