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

時間 2021-07-20 10:30:58

1樓:仙女王吉吉

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

1、取得當前日期的時間

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

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

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

2樓:

select *

from 表名

where (case when (dateadd(yy,datediff(yy,出生日期,比較的日期),出生日期)>比較的日期)

then (datediff(yy,出生日期,比較的日期)-1)else datediff(yy,出生日期,比較的日期)end)>15

查詢截止到比較的日期年齡大於15歲的人

case when 是sql server語法,其它資料庫用相應的函式替換

3樓:匿名使用者

這個和程式語言差不多,先定義一個變數,然後用現在的年分減去這個變數,就得到了年齡

4樓:匿名使用者

select *,datediff(year,birth,getdate()) as 年齡 from table where datediff(year,birth,getdate()) >='20'

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

5樓:匿名使用者

計算年齡就是,計算當前時間與出生日期的年份差的過程,所以用到datediff 函式。

一、datediff 函式簡介

1、函式功能:返回兩個日期之間的間隔指定單位值。

2、語法:datediff ( date-part, date-expression-1, date-expression-2 )

date-part :指定要測量其間隔的日期部分,常用引數說明

date-expression-1 某一間隔的起始日期。

date-expression-2 某一間隔的結束日期。

函式返回值:從date-expression-2 值中減去 date-expression-1,返回兩個引數之間 date-parts 的值。

3、範例演示:

select datediff( hh, '4:00am', '5:50am' )下面的語句返回 102:

select datediff( mm, '1987/05/02', '1995/11/15' )下面的語句返回 0:

select datediff( dd, '00:00', '23:59' )下面的語句返回 4:

select datediff( dd,'1999/07/19 00:00','1999/07/23 23:59' )下面的語句返回 0:

select datediff( mm, '1999/07/19', '1999/07/23' )下面的語句返回 1:

select datediff( mm, '1999/07/19', '1999/08/23' )

二、通過出生日期計算年齡的例項

1、例項**:a_test

2、sql語句如下:

select bh,rq,

case when datediff(yy,rq,getdate()) = 0

then cast(datediff(mm,rq,getdate()) as char(3))  +'個月'

else cast(datediff(yy,rq,getdate()) as char(3))  +'歲'

end  as '年齡'

from a_test;

語句解析:語句主體部分

case when datediff(yy,rq,getdate()) = 0

then cast(datediff(mm,rq,getdate()) as char(3))  +'個月'

else cast(datediff(yy,rq,getdate()) as char(3))  +'歲'

end  as '年齡'

datediff函式計算出生日期rq與系統當前時間getdate()的年份差值,如果差值大於0,就計算月份差,顯示月份為年齡。

語句結果如圖:

6樓:匿名使用者

可以用日期函式datediff計算出生日期與當前日期相差的年數

如datediff(year,'1984-2-16',getdate())

7樓:

,if( substring(from_unixtime(unix_timestamp('$','yyyy-mm-dd'), 'yyyymmdd'),5) >= substring(a.zcsdat,5) ,

substring(from_unixtime(unix_timestamp('$','yyyy-mm-dd'), 'yyyymmdd'),1,4) - substring(a.zcsdat,1,4),

substring(from_unixtime(unix_timestamp('$','yyyy-mm-dd'), 'yyyymmdd'),1,4) - substring(a.zcsdat,1,4)-1

) as emp_age --年齡: 跑數月日 >= 出生月日 ,年份差 ,否則年份差-1

8樓:木頭釋然

語句為:select floor(datediff(current_date,'1984-2-16')/356)

檢視大圖" >常用sql對資料庫操作:

連線資料庫命令: mysql -u root -p密碼建立資料庫:create database dbname;

檢視所有的資料庫:show databases;

刪除資料庫: drop database dbname;

切換資料庫:use dbname;

mysql是一個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下產品。mysql 是最流行的關係型資料庫管理系統之一,在 web 應用方面,mysql是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體。

9樓:最後的小丁

select datediff(year, 出生日期, getdate())

10樓:匿名使用者

select datediff(year,'1984-2-16',getdate())

11樓:龍少

select extract(year from sysdate)- extract(year from to_date('1984-2-16','yyyy-mm-dd')) year from dual;

這個符合你的要求嗎?

sql中怎麼根據出生日期算出年齡,然後用年齡查詢?

12樓:仙女王吉吉

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

1、取得當前日期的時間

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

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

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

13樓:

select *

from 表名

where (case when (dateadd(yy,datediff(yy,出生日期,比較的日期),出生日期)>比較的日期)

then (datediff(yy,出生日期,比較的日期)-1)else datediff(yy,出生日期,比較的日期)end)>15

查詢截止到比較的日期年齡大於15歲的人

case when 是sql server語法,其它資料庫用相應的函式替換

如何根據性別和出生日期提取人員類別

1表公式臃腫 簡化為 mid a2,7,8 條件當d2 1959,1996,c2 1,e2 b0d 與前面的d2 1955,1996,且c2 1,e2顯示 b0d 重合,不知道你是不是寫錯了,如果按你所寫的條件要求,就是下面這樣 d列最好先把年份提出來,然後用下面公式求 公式引用自己換 if a1 ...

怎麼根據生辰取名字?女孩,出生日期陽曆號1點47分,陰曆姓朱

楊廣元 公曆 2012年1月15日 星期日 1點 農曆 辛卯年十二月廿二日丑時 春節 1月23日 節前 辛卯年 節後 壬辰年 八字 辛卯 辛丑 乙亥 丁丑 五行 金木 金土 木水 火土 方位 西東 西中 東北 南中 虧缺 什麼都不缺 生肖 兔 據上朱姓起雙字名筆畫組合最佳為6 9 6,漢字五行屬性均...

根據兩人出生日期推算結婚吉日,男女雙方出生日期算結婚吉日

三寸小鬼 男農曆 1985年2月 3日 乙丑年,己卯月,壬戌日,庚子時 年柱乙丑海中金 牛 女農曆 1986年2月24日 丙寅年,辛卯月,丙子日,癸巳時 年柱丙寅爐中火 虎 首先避開下列雙方的生肖衝日 羊日衝 乙丑 牛 猴日衝 丙寅 虎 遇亥豬日對新郎不利,不論婚嫁!命書雲 凡婚嫁擇吉,須選與女命大...