當前位置:首頁 » 編程語言 » sql中怎麼通過出生日期計算年齡
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中怎麼通過出生日期計算年齡

發布時間: 2022-09-17 20:35:21

sql語句如何根據出生日期計算年齡

第一種:
一張人員信息表裡有一人生日(Birthday)列,跟據這個列,算出該人員的年齡
datediff(year,birthday,getdate())
例:birthday
=
'2003-3-8'
getDate()=
'2008-7-7'
結果為:5
這樣結果是會返回該人員的大概年齡,但不精確.不會精確到月或日.
按照上面測試的日期,該人員的實際年齡應該還不滿5歲。在需要精確年齡的時候,就會有錯.
第二種:
FLOOR(datediff(DY,birthday,getdate())/365.25)
FLOOR函數:
FLOOR(expr)
返回小於或等於expr的最大整數.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1
這樣就可以精確算出,該人員當前實際年齡了.
測試:
birthday
=
'2000-7-8'
getdate()=
'2007-7-7'
算出結果為:6
在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來。
一種常用的方法是:to_number(to_char(sysdate,'yyyy'))
還有一種更好的方法,那就是使用oracle提供的Extract函數,使用方法是:
extract(year
from
sysdate)
,此方法獲得的結果是數值型的
,這種方法省掉了類型轉換,更加簡潔。
相應的,要取得月份或日,可以用extract
(month
from
sysdate)
和extract
(day
from
sysdate)

❷ 如何用SQL語句把出生日期計算年齡,比如是1984-2-16怎麼算出年齡啊

語句為:SELECT FLOOR(DATEDIFF(CURRENT_DATE,'1984-2-16')/356)

常用sql對資料庫操作:

  1. 連接資料庫命令:mysql -u root -p密碼

  2. 創建資料庫:create database dbname;

  3. 查看所有的資料庫:show databases;

  4. 刪除資料庫:drop database dbname;

  5. 切換資料庫:use dbname;


知識拓展:

MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於Oracle旗下產品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體。

❸ MySQL根據出生日期計算年齡的五種方法比較

以前使用mysql不是很多,對mysql的函數也不是很熟悉,遇到這個問題第一時間網路搜索,搜索到這兩種方法,這兩種方法是排在網路第一條的博客。

方法一,作者也說出了缺陷,就是當日期為未來日期時結果為0,而不是負數;這里使用了5個函數和兩個運算符。

方法二,解決了方法一為負數的問題,但看起來更復雜;這里使用了6個函數和3個運算符。

看了這篇貼子後,我就暈了,怎麼會這么復雜,以前用Sql Server很簡單就可以了。我堅信一定有簡單高效的方法。很快就找到了根據以上方法改良後的方法。

改良後的方法一,少了一個函數和一個運算符,當日期為未來日期時計算結果還是為0;
改良後的方法二,還是6個函數和3個運算符,看起來簡單些;取日期的右邊五位,當日期格式為『2013-01-01』時取到的是『01-01』,沒有問題;當日期格式為『2013-1-1』縮寫格式時,取右邊的五位取出的是『3-1-1』,會導致出錯。

然後自己根據MYSQL的幫助文檔中的日期函數想到了第三種方法:

取生日和當前日期之前的天數除以一年的實際天數(365天5小時48分46秒),然後取整。這樣只用了三個函數和一個運算符就搞定了。

然後,很快在國外網站找到了第四種方法:

這種方法只用了兩個函數就搞定了,應該是最佳方法了。

測試了一下以上四種方法,假如當前日期為'2017-1-13',當生日為『2013-1-14』時,還差一天就要過生日了,離4歲只 差一天了,結果還是3歲,感覺不是很合理;把方法三改造一下,四捨五入得到方法五:

這樣計算出的年齡離實際的周歲最接近了,但可能方法四是最符合年齡定義的了。

❹ SQL語句如何根據出生日期計算年齡

第一種:
一張人員信息表裡有一人生日(Birthday)列,跟據這個列,算出該人員的年齡
datediff(year,birthday,getdate())
例:birthday = '2003-3-8'
getDate()= '2008-7-7'
結果為:5
這樣結果是會返回該人員的大概年齡,但不精確.不會精確到月或日.
按照上面測試的日期,該人員的實際年齡應該還不滿5歲。在需要精確年齡的時候,就會有錯.
第二種:
FLOOR(datediff(DY,birthday,getdate())/365.25)
FLOOR函數:
FLOOR(expr) 返回小於或等於expr的最大整數.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1
這樣就可以精確算出,該人員當前實際年齡了.
測試:
birthday = '2000-7-8'
getdate()= '2007-7-7'
算出結果為:6

在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來。
一種常用的方法是:to_number(to_char(sysdate,'yyyy'))
還有一種更好的方法,那就是使用oracle提供的Extract函數,使用方法是:
extract(year from sysdate) ,此方法獲得的結果是數值型的 ,這種方法省掉了類型轉換,更加簡潔。
相應的,要取得月份或日,可以用extract (month from sysdate) 和extract (day from sysdate)

❺ 資料庫怎麼根據出生日期查詢年齡

SqlServer中通過出生日期計算年齡可用year函數。

有student表,數據如下,其中birthday列為生日列:要計算每個人的年齡,可用如下語句:select*,year(getdate())-year(birthday)agefromstudent3、查詢結果如下,年齡計算結果出現:

資料庫索引:

資數據索引的觀念由來已久,就像是一本書的目錄一樣,也算是索引的一種。只是索引的分類較廣,例如車牌、身份證字型大小、條碼等,都是一個索引的號碼,當我們看到號碼時,可以從號碼中看出其中的端倪,若是要找的人、車或物品,也只要提供相關的號碼,即可迅速查到正確的人事物。

另外,索引跟域有著相應的關系,索引即是由域而來,其中域有所謂的關鍵域(Key Field),該域具有唯一性,即其值不可重復,且不可為"空值(null)"。例如:在合並數據時,索引就是附加域數據之指向性用途。故此索引為不可重復性且不可為空。

❻ 請問怎麼從sql server資料庫里通過出生日期,然後算出他的年齡

  1. SqlServer中通過出生日期計算年齡可用year函數。步驟如下:有student表,數據如下,其中birthday列為生日列。

  2. 美國Microsoft公司推出的一種關系型資料庫系統。SQLServer是一個可擴展的、高性能的、為分布式客戶機/伺服器計算所設計的資料庫管理系統,實現了與WindowsNT的有機結合,提供了基於事務的企業級信息管理系統方案。

  3. 主要特點是高性能設計,可充分利用WindowsNT的優勢。

  4. 系統管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置。

  5. 強大的事務處理功能,採用各種方法保證數據的完整性。

  6. 支持對稱多處理器結構、存儲過程、ODBC,並具有自主的SQL語言。 SQLServer以其內置的數據復制功能、強大的管理工具、與Internet的緊密集成和開放的系統結構為廣大的用戶、開發人員和系統集成商提供了一個出眾的資料庫平台。

❼ SQL 中怎麼根據出生日期算出年齡 然後用年齡查詢

sql是不能查詢的,php可以計算年齡

1、取得當前日期的時間

2、將sql中的出生日期換算成時間

3、當前日期時間-出生日期時間

4、將得到的數值轉換為年月日

❽ 請問怎麼從sql server資料庫里通過出生日期,然後算出他的年齡

SqlServer
中通過出生日期計算年齡可用
year函數

工具:SqlServer
2008
R2
步驟:
1、有student表,數據如下,其中birthday列為生日列:
2、要計算每個人的年齡,可用如下語句:
select *,year(getdate())-year(birthday) age from student3、查詢結果如下,年齡計算結果出現:

❾ 請問在SQL中如何用出生年月計算年齡

select
(year(curdate())-year(birth))
from
........where
........
這樣就可以了.birth是你的生日列。後面跟上你的查詢條件即可輸出符合條件的人的年齡。
希望有所幫助。