国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

SQL年齡計算的兩種方法實例

瀏覽:155日期:2023-03-06 14:25:19
目錄
  • 第一種方法:
  • 第二種方法:
  • 總結

第一種方法:

用DATEDIFF函數,DATEDIFF(YEAR,beginDate,endDate)

測試語句:

DECLARE @birthdayDate DATEDECLARE @endDate DATEDECLARE @age INTSET @birthdayDate ="2003-08-08"SET @endDate = "2008-07-08"SET @age = DATEDIFF(YEAR,@birthdayDate,@endDate)SELECT @age AS 年齡

執行結果:

這種方法計算出的年齡,是個大概年齡,是“年”意義下的年齡,就是普羅大眾對年齡的理解下的年齡。

如果按“月”、“日”去計算,上述例子中的年齡其實是不足5歲的。

所以,當我們寫的程序對年齡的計算的精度要求比較高時,

比如社保待遇的享受起始時間、退休金發放起始時間的計算,需要對年齡的精確計算;

政治生活中,干部的提拔、退職,也都涉及到年齡的精確計算;

民事刑事案件中當事人年齡的計算,年齡的大小直接涉及到量刑的輕重,所以也需要對年齡進行精確計算。

第二種方法:

FLOOR(DATEDIFF(DAY,@birthdayDate,@endDate)/365.25)

FLOOR函數:返回小于或等于指定數值表達式的最大整數。又稱,向下取整函數。

(Returns the largest integer less than or equal to the specified numeric expression.)

PS:numberic expression,數值表達式 ,arithmeric expression,算術表達式。

FLOOR(4)=4,

FLOOR(4.2)=4,

FLOOR(4.5)=4,

FLOOR(4.9)=4.

測試語句:

DECLARE @birthdayDate DATEDECLARE @endDate DATEDECLARE @age FLOATSET @birthdayDate ="2003-08-08"SET @endDate = "2008-07-08"SET @age = FLOOR(DATEDIFF(DAY,@birthdayDate,@endDate)/365.25)SELECT @age AS 年齡

執行結果:

算法釋義:

因為4年有一閏年會多1天,多除以0.25,相當于把這一天平均攤到這4年,保證每4年的誤差歸零。

這個算法其實也有小小的誤差,除非出生不滿一歲就碰到閏月,先有一天再來遞減,會完全正確,不然的話在遇到閏年前會差一天,遇到閏年后變準確,但是當這個閏年補完4年差額在遇到下一個閏年之前又會差一天。也就是生日當天程序會顯示沒滿周歲。

我們測試一下,比如2000、2004、2008年是閏年,但是2001、2002、2003、2005、2006、2007年都不是閏年。

假定李某在2001-02-08出生,我們用2002、2003、2004年生日當天去計算年齡時,都會發生誤差。

因為2004年是閏年,用2005年生日當天去計算年齡就正確,過了2005年(2005-2001=4),我們用2006、2007、2008年生日當天去計算年齡,也會發生誤差。

如果李某在2001-03-08(只要過了2月的一個日期就行)出生,

我們用2002、2003年生日當天去計算年齡時,會發生誤差。

但是用2004、2005年生日當天去計算年齡就正確,過了2005年(2005-2001=4),我們用2006、2007年生日當天去計算年齡,也會發生誤差。

用2008年生日當天去計算年齡,就沒有誤差。

請讀者自行驗證。

總結

到此這篇關于SQL年齡計算的文章就介紹到這了,更多相關SQL年齡計算內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MsSQL
主站蜘蛛池模板: 亚洲欧美在线不卡 | 草久久久 | 女人扒开腿让男人捅啪啪 | 色一欲一性一乱一区二区三区 | 欧美一级毛片免费高清的 | 欧美激情免费观看一区 | 亚洲男人天堂网站 | 亚洲欧美日韩国产综合 | 欧美日韩一区二区三区视频在线观看 | 国产一级特黄aaa大片 | 国产精品18久久久久久小说 | 亚洲精品国自产拍在线观看 | 日韩成人一级 | 亚洲一级毛片中文字幕 | 国产在线成人一区二区 | 真实国产普通话对白乱子子伦视频 | 国产精品人伦久久 | 久久这里只有精品免费视频 | 极品美女户外勾搭无套 | 激情综| 一级做a毛片免费视频 | 欧美老妇b | 伊人久久大香线焦综合四虎 | 欧美激情视频在线观看一区二区三区 | 国产三级国产精品国产普男人 | 国产特黄一级毛片特黄 | 国产成人综合一区精品 | 久久精品国产只有精品2020 | 亚洲男人精品 | 国产精品手机视频一区二区 | 欧美午夜在线播放 | 自拍视频在线观看 | 正在播放国产精品 | 亚洲第一页在线播放 | 欧美激情欧美狂野欧美精品免费 | 免费观看成人www精品视频在线 | 国产三级黄色 | 欧美成a人免费观看久久 | 亚洲国产人成中文幕一级二级 | 国产亚洲精品成人婷婷久久小说 | 国产成人精品视频频 |