⑴ sql求年齡
你這是oralce吧
--獲取兩時間年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from al;
如果是sql
那就簡單了
⑵ sql求平均年齡
select class,avg(year(getdate())-year(birth))
from students
where class='05313'
group by class
沒必要再用子查詢,使用聚合函數前要使用group by
⑶ sql 查詢每個年齡的人數
select COUNT(*) as 每個年齡的人數,年齡 from 員工表 group by 年齡
⑷ sql中定義年齡用什麼數據類型,長度為多少
sql中定義年齡可以用的用數據類型及長度:
1、char(3):長度為3的字元串。小於10位且長度基本固定的字元串用char。
2、varchar(3):長度為3的字元串。長度大於10的用varchar,varcha在10以內佔用空間比char大。
3、int:長度為4個位元組,存儲從(-2147483648)到(2147483647)。
4、Smallint:長度為2個位元組,存儲從-32768到32767。
5、tinyint:長度為1個位元組,存儲0到255的數字。
(4)sql年齡擴展閱讀:
sql函數
UCASE(c)將某個域轉換為大寫
LCASE(c)將某個域轉換為小寫
MID(c,start[,end])從某個文本域提取字元
LEN(c)返回某個文本域的長度
INSTR(c,char)返回在某個文本域中指定字元的數值位置
LEFT(c,number_of_char)返回某個被請求的文本域的左側部分
ROUND(c,decimals)對某個數值域進行指定小數位數的四捨五入
⑸ 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語句書寫 查詢年齡的
不知道你具體用的什麼資料庫
給你sqlserver的寫法吧
selectA,B
from表
whereDATEDIFF(dd,b,getdate())*1.0/365between10and30
大概就是這樣,我是用天計算的,各個資料庫有差別,,,,
⑺ SQL中,如何查詢年齡
日期函數,access與SQL Server是有一點區別的,
如果是access的話,
select * from 你的表名
where year(now())-year(出生日期) between 20 and 25
如果是SQL Server的話,
select * from 你的表名
where year(getdate())-year(出生日期) between 20 and 25
呵呵,希望能有幫助,^_^
⑻ SQL計算年齡
你好 你的問題不需要增加員工年齡這列
因為隨著一年一年的時間,年齡是動態計算的
通常用 系統時間-出生日期 顯示出來就可以了
Oracle
select round((sysdate - to_date('2008-01-01','YYYY-MM-DD'))/365,0)
from al
;
SQL查詢一下聯機幫助文檔
⑼ sql 計算年齡
用getdate()獲得今天的日期,再用datediff算的年數
也可以直接取年份相減啊
⑽ SQL統計年齡段
例如:
select case when [年齡] BETWEEN 10 AND 20 then '10-20'
when [年齡] BETWEEN 20 AND 30 then '20-30'
when [年齡] > 30 then '30以上' end as '年齡段',
count(*) as '人數' FROM [Table]