(1)假設(shè)你沒有生日這一列alter table add birthday datetime
創(chuàng)新互聯(lián)公司是一家專業(yè)提供龍華企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為龍華眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
假設(shè)你沒有年齡這一列alter table add age float
(2)給某人加入生日1990-1-1,update table set birthday ='1990-1-1' where ....
計(jì)算年齡 update table set age =datediff(year,birthday,getdate()) where ....
以上代碼sqlserver2008
工具:sqlserver 2008 R2
步驟:
1、給定數(shù)據(jù)表“學(xué)生”,內(nèi)容如下:
2、現(xiàn)在要將性別為女的年齡增加一歲,使用如下語(yǔ)句:
update?學(xué)生?set?年齡=年齡+1?where?性別='女'
3、執(zhí)行后結(jié)果如下,可以看出姓名為“二果”的女生,年齡由原來(lái)的19歲增加了1歲,其他兩位同學(xué)的年齡沒有改變。
SqlServer中通過出生日期計(jì)算年齡可用year函數(shù)。步驟如下:有student表,數(shù)據(jù)如下,其中birthday列為生日列。
、要計(jì)算每個(gè)人的年齡,可用如下語(yǔ)句:
查詢結(jié)果如下,年齡計(jì)算結(jié)果出現(xiàn):
美國(guó)Microsoft公司推出的一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。SQLServer是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了與WindowsNT的有機(jī)結(jié)合,提供了基于事務(wù)的企業(yè)級(jí)信息管理系統(tǒng)方案。
主要特點(diǎn)是高性能設(shè)計(jì),可充分利用WindowsNT的優(yōu)勢(shì)。
系統(tǒng)管理先進(jìn),支持Windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。
強(qiáng)大的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。
支持對(duì)稱多處理器結(jié)構(gòu)、存儲(chǔ)過程、ODBC,并具有自主的SQL語(yǔ)言。 SQLServer以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫(kù)平臺(tái)。
首先呢根據(jù)題目來(lái)看實(shí)在數(shù)據(jù)庫(kù)實(shí)現(xiàn)的時(shí)候沒有考慮全面。在設(shè)計(jì)階段可以只有出生日期,但應(yīng)該能分析到年齡是經(jīng)常使用的,必須將年齡設(shè)計(jì)成派生屬性,在關(guān)系的實(shí)現(xiàn)時(shí)將其作為表的一個(gè)列age,并為其設(shè)置默認(rèn)值year(getdate())-year(出生日期),這樣在查詢的時(shí)候直接查選age即可。建議修改表結(jié)構(gòu),一勞永逸。其次,如果不修改表結(jié)構(gòu),也只能使用sql中的日期函數(shù),比如datediff。在這給出sqlserver中的寫法:
select DATEDIFF(yy, GETDATE(), 出生日期) as 'age' from table_name
還有一種辦法,就是在應(yīng)用編程中操作,利用腳本語(yǔ)言進(jìn)行處理。