91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DB2中怎么來求兩個日期之間相差多少個月呢?

發布時間:2020-05-19 14:24:00 來源:網絡 閱讀:5746 作者:9pc9com 欄目:web開發
DB2中怎么來求兩個日期之間相差多少個月呢?
今天在工作中遇到一個問題,就是怎么在DB2中怎么來求兩個日期之間相差多少個月呢?
結果找到一個方法如下:
在DB2中兩個日期之間相減會等到一個整數總共有六種情況分別是:
Java代碼 DB2中怎么來求兩個日期之間相差多少個月呢?  DB2中怎么來求兩個日期之間相差多少個月呢? DB2中怎么來求兩個日期之間相差多少個月呢?
  1. select date('2010-1-30')-date('2010-1-1') from RATE_INFO;  
select date('2010-1-30')-date('2010-1-1') from RATE_INFO;

查詢結果是:29
29代表的意思是  29天
Java代碼 DB2中怎么來求兩個日期之間相差多少個月呢?  DB2中怎么來求兩個日期之間相差多少個月呢? DB2中怎么來求兩個日期之間相差多少個月呢?
  1. select date('2010-10-1')-date('2010-1-1') from RATE_INFO;  
select date('2010-10-1')-date('2010-1-1') from RATE_INFO;

查詢結果是:900
900代表的意思是  9個月0天
Java代碼 DB2中怎么來求兩個日期之間相差多少個月呢?  DB2中怎么來求兩個日期之間相差多少個月呢? DB2中怎么來求兩個日期之間相差多少個月呢?
  1. select date('2010-12-3')-date('2010-1-1') from RATE_INFO;  
select date('2010-12-3')-date('2010-1-1') from RATE_INFO;

查詢結果是:1102
1102代表的意思是  11個月2天
Java代碼 DB2中怎么來求兩個日期之間相差多少個月呢?  DB2中怎么來求兩個日期之間相差多少個月呢? DB2中怎么來求兩個日期之間相差多少個月呢?
  1. select date('2011-10-1')-date('2010-1-1') from RATE_INFO;  
select date('2011-10-1')-date('2010-1-1') from RATE_INFO;

查詢結果是:10900
10900代表的意思是  1年9個月0天
Java代碼 DB2中怎么來求兩個日期之間相差多少個月呢?  DB2中怎么來求兩個日期之間相差多少個月呢? DB2中怎么來求兩個日期之間相差多少個月呢?
  1. select date('2020-10-1')-date('2010-1-1') from RATE_INFO;  
select date('2020-10-1')-date('2010-1-1') from RATE_INFO;

查詢結果是:100900
100900代表的意思是  10年9個月0天
總結起來是: 個位、十位用來表示相差多少天
             百位、千位用來表示相差多少月
             萬位、十萬位用來表示相差多少年

我自己寫了一個函數用來計算兩個日期之間相差多少個月

-- 計算兩個日期之間相差多少個月,如果有零星的天數,則加上一個月
Java代碼 DB2中怎么來求兩個日期之間相差多少個月呢?  DB2中怎么來求兩個日期之間相差多少個月呢? DB2中怎么來求兩個日期之間相差多少個月呢?
  1. create function monthBetween("DAY1" varchar(10),"DAY2" varchar(10))   
  2.             Returns INTEGER   
  3.             LANGUAGE SQL   
  4.   begin ATOMIC Declare dMonth INTEGER;   
  5.             Declare date1 Date;   
  6.             Declare date2 Date;   
  7.                 Declare a INTEGER;   
  8.                 --我們這里將傳入的day1,day2進行比較,將日期大的賦值給date1,反之賦值給date2   
  9.                 if day1>day2 then    
  10.                     set date1=Date(day1);   
  11.                     set date2=Date(day2);   
  12.                 else    
  13.                     set date1=Date(day2);   
  14.                     set date2=Date(day1);   
  15.                 end if;   
  16.                 set a = (date1-date2);   
  17.                 if  mod(a,100)>0 then --如果有零星天,即天數大于零則月數加上1  
  18.                     set dMonth=(date1-date2)/10000*12+ mod((a/100),100)+1;   
  19.                 else  
  20.                     set dMonth=(date1-date2)/10000*12+mod((a/100),100);   
  21.                 end if;   
  22.                 return dMonth;   
  23.   end     
create function monthBetween("DAY1" varchar(10),"DAY2" varchar(10))
			Returns INTEGER
		 	LANGUAGE SQL
  begin ATOMIC Declare dMonth INTEGER;
  			Declare date1 Date;
  			Declare date2 Date;
				Declare a INTEGER;
				--我們這里將傳入的day1,day2進行比較,將日期大的賦值給date1,反之賦值給date2
				if day1>day2 then 
					set date1=Date(day1);
					set date2=Date(day2);
				else 
					set date1=Date(day2);
					set date2=Date(day1);
				end if;
				set a = (date1-date2);
				if  mod(a,100)>0 then --如果有零星天,即天數大于零則月數加上1
					set dMonth=(date1-date2)/10000*12+ mod((a/100),100)+1;
				else
					set dMonth=(date1-date2)/10000*12+mod((a/100),100);
				end if;
				return dMonth;
  end	

   
  拿出來分享一下,希望對大家有所幫助
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

密山市| 思茅市| 象州县| 武强县| 天长市| 都匀市| 尉氏县| 扬中市| 沙坪坝区| 鹰潭市| 昆山市| 都匀市| 丰县| 甘孜| 手游| 舟曲县| 赤壁市| 崇义县| 曲阳县| 抚宁县| 延长县| 子洲县| 南昌县| 大港区| 习水县| 兰考县| 兰州市| 六盘水市| 平潭县| 顺义区| 台东县| 岳阳县| 三都| 微山县| 长汀县| 平舆县| 湖南省| 霍山县| 砚山县| 会理县| 英吉沙县|