sql中定義年齡可以用的用數(shù)據(jù)類型及長度:

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),兗州企業(yè)網(wǎng)站建設(shè),兗州品牌網(wǎng)站建設(shè),網(wǎng)站定制,兗州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,兗州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1、char(3) :長度為3的字符串。小于10位且長度基本固定的字符串用char。
2、varchar(3):長度為3的字符串。長度大于10的用varchar,varcha在10以內(nèi)占用空間比char大。
3、int:長度為4個(gè)字節(jié),存儲(chǔ)從(-2147483648)到(2147483647)。
4、Smallint:長度為2個(gè)字節(jié),存儲(chǔ)從-32768到32767。
5、tinyint:長度為1個(gè)字節(jié),存儲(chǔ)0到255的數(shù)字。
擴(kuò)展資料
sql數(shù)據(jù)類型使用范圍
Text:用于文本或文本與數(shù)字的組合。最多255個(gè)字符。
Memo:用于更大數(shù)量的文本。最多存儲(chǔ)65536個(gè)字符。
Byte:允許0到255的數(shù)字。
Integer:允許介于-32768到32767之間的數(shù)字。
Long:允許介于 -2147483648 與 2147483647之間的全部數(shù)字。
Single:單精度浮點(diǎn)。處理大多數(shù)小數(shù)。
Double:雙精度浮點(diǎn)。處理大多數(shù)小數(shù)。
Currency:用于貨幣。支持15位的元,外加4位小數(shù)。
AutoNumber:字段自動(dòng)為每條記錄分配數(shù)字,通常從1開始。
Date/Time:用于日期和時(shí)間。
Yes/No:邏輯字段,可以顯示為Yes/No、True/False或On/Off。在代碼中,使用常量True和 False(等價(jià)于1和 0);Yes/No字段中不允許Null值。
Ole Object:可以存儲(chǔ)圖片、音頻、視頻或其他BLOBs (Binary Large OBjects)。
Hyperlink:包含指向其他文件的鏈接,包括網(wǎng)頁。
以前使用mysql不是很多,對mysql的函數(shù)也不是很熟悉,遇到這個(gè)問題第一時(shí)間百度搜索,搜索到這兩種方法,這兩種方法是排在百度第一條的博客。
方法一,作者也說出了缺陷,就是當(dāng)日期為未來日期時(shí)結(jié)果為0,而不是負(fù)數(shù);這里使用了5個(gè)函數(shù)和兩個(gè)運(yùn)算符。
方法二,解決了方法一為負(fù)數(shù)的問題,但看起來更復(fù)雜;這里使用了6個(gè)函數(shù)和3個(gè)運(yùn)算符。
看了這篇貼子后,我就暈了,怎么會(huì)這么復(fù)雜,以前用Sql Server很簡單就可以了。我堅(jiān)信一定有簡單高效的方法。很快就找到了根據(jù)以上方法改良后的方法。
改良后的方法一,少了一個(gè)函數(shù)和一個(gè)運(yùn)算符,當(dāng)日期為未來日期時(shí)計(jì)算結(jié)果還是為0;
改良后的方法二,還是6個(gè)函數(shù)和3個(gè)運(yùn)算符,看起來簡單些;取日期的右邊五位,當(dāng)日期格式為‘2013-01-01’時(shí)取到的是‘01-01’,沒有問題;當(dāng)日期格式為‘2013-1-1’縮寫格式時(shí),取右邊的五位取出的是‘3-1-1’,會(huì)導(dǎo)致出錯(cuò)。
然后自己根據(jù)MYSQL的幫助文檔中的日期函數(shù)想到了第三種方法:
取生日和當(dāng)前日期之前的天數(shù)除以一年的實(shí)際天數(shù)(365天5小時(shí)48分46秒),然后取整。這樣只用了三個(gè)函數(shù)和一個(gè)運(yùn)算符就搞定了。
然后,很快在國外網(wǎng)站找到了第四種方法:
這種方法只用了兩個(gè)函數(shù)就搞定了,應(yīng)該是最佳方法了。
測試了一下以上四種方法,假如當(dāng)前日期為'2017-1-13',當(dāng)生日為‘2013-1-14’時(shí),還差一天就要過生日了,離4歲只 差一天了,結(jié)果還是3歲,感覺不是很合理;把方法三改造一下,四舍五入得到方法五:
這樣計(jì)算出的年齡離實(shí)際的周歲最接近了,但可能方法四是最符合年齡定義的了。
create table 學(xué)生表(學(xué)號 char(10) primary key,
姓名 char(10) not null,
性別 char(2) check(性別 in('男','女')),
系 varchar(20) check(系 in('信息系','計(jì)算機(jī)科學(xué)系','數(shù)學(xué)系','管理系','中文系','外語系','法學(xué)系')),
年齡 int check(年齡 between 0 and 100))
mysql中年齡可以用agetinyint表示。根據(jù)查詢相關(guān)公開信息顯示:在mysql中表示人的年齡就可以用:agetinyint,表示表示烏龜?shù)哪挲g就要用:agewgsmallint。
當(dāng)前文章:mysql年齡怎么定義 mysql年齡表示
文章轉(zhuǎn)載:http://www.chinadenli.net/article30/dddpdpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、電子商務(wù)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)