sql查询为特定值提供半年

时间:2015-07-30 07:44:21

标签: sql

对于这种情况我需要一个sql查询(考虑半年(6个月)的情况,那么我现在需要得到的是:

  • 2015年(第7个月至第12个月)为零
  • 2015(第1个月至第6个月)为-1
  • 2014年(第7个月至第12个月)为-2

同样向下减去负值并从2015年开始增加值

1 个答案:

答案 0 :(得分:0)

对于Oracle,您可以使用 months_between 功能:

SHOW TRUNC(months_between('06Jul2005' '17Jul2003')/ 6,0)
SHOW TRUNC(months_between('29Feb2000', '30Sep2000')/6,0)

对于Sql Server,您可以使用 datediff 功能

SELECT FLOOR(DATEDIFF(month,'2014-08-05','2014-06-05')/6) AS DiffDate

来源:OracleSql Server