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語法,其它資料庫用相應的函式替換

出生日期是那年,出生日期是哪年

戶口本出生日期就是戶口本上登記的日期。一 一般登記的是公曆出生日期 身份證與戶口本記載的出生日期不相符合,以派出所戶籍檔案為準 一般和戶口本是一致的 你自已出生日期可以查你的戶口簿和身份證,在就去問你的爸媽,別人怎能知道啊 孩子從母親肚子出來開始算 就是下雪那年,你媽生的你。我的出生日期1971年 ...

由出生日期怎麼看五行缺什麼,從出生日期如何看出五行缺什麼?

用八字 起名 陰曆2016年12月23日14時20分還沒有到這個時間。是不是說的陽曆。從出生日期如何看出五行缺什麼? 委愛景務釵 2009年1月20日早上4時58分出生的 八字 戊子 乙丑乙丑 戊寅五行 土水 木土木土 土木無形基本平衡,但生月為土,使土旺。應以水洩之。所以說五行微缺水。怎樣從出生日...

根據身份號,請在員工檔案表工作表的出生日期列中,使用MID函式提取員工生日

天使在唱歌 1 以excel2010版本為例,如圖首先在b2單元格里輸入提取年的公式,mid a2,7,4 年 提取的數字後要加文字年的話用 符號來連線 2 然後在b2單元格里輸入提取月的公式,mid a2,11,2 月 因為月是在身份證的第11位,所以這裡第二個引數填11,然後只取兩位 3 最後在...