Mysql中經(jīng)常用來存儲日期的數(shù)據(jù)類型有三種:Date、Datetime、Timestamp。
創(chuàng)新互聯(lián)建站專注于浦北企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城建設(shè)。浦北網(wǎng)站建設(shè)公司,為浦北等地區(qū)提供建站服務(wù)。全流程按需定制設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
Date數(shù)據(jù)類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為“YYYY-MM-DD”。支持的時間范圍為“1000-00-00”到“9999-12-31”。
Datetime類型:存儲既有日期又有時間的數(shù)據(jù)。存儲和顯示的格式為
“YYYY-MM-DD
HH:MM:SS”。支持的時間范圍是“1000-00-00
00:00:00”到“9999-12-31
23:59:59”。
Timestamp類型:也是存儲既有日期又有時間的數(shù)據(jù)。存儲和顯示的格式跟Datetime一樣。支持的時間范圍是“1970-01-01
00:00:01”到“2038-01-19
03:14:07”。
所有不符合上面所述格式的數(shù)據(jù)都會被轉(zhuǎn)換為相應(yīng)類型的0值。(0000-00-00或者0000-00-00
00:00:00)
mysql有豐富的時間函數(shù):
ADDTIME
(date2
,time_interval
)
//將time_interval加到date2
CONVERT_TZ
(datetime2
,fromTZ
,toTZ
)
//轉(zhuǎn)換時區(qū)
CURRENT_DATE
(
)
//當(dāng)前日期
CURRENT_TIME
(
)
//當(dāng)前時間
CURRENT_TIMESTAMP
(
)
//當(dāng)前時間戳
DATE
(datetime
)
//返回datetime的日期部分
DATE_ADD
(date2
,
INTERVAL
d_value
d_type
)
//在date2中加上日期或時間
DATE_FORMAT
(datetime
,FormatCodes
)
//使用formatcodes格式顯示datetime
DATE_SUB
(date2
,
INTERVAL
d_value
d_type
)
//在date2上減去一個時間
DATEDIFF
(date1
,date2
)
//兩個日期差
DAY
(date
)
//返回日期的天
DAYNAME
(date
)
//英文星期
DAYOFWEEK
(date
)
//星期(1-7)
,1為星期天
DAYOFYEAR
(date
)
//一年中的第幾天
EXTRACT
(interval_name
FROM
date
)
//從date中提取日期的指定部分
MAKEDATE
(year
,day
)
//給出年及年中的第幾天,生成日期串
MAKETIME
(hour
,minute
,second
)
//生成時間串
MONTHNAME
(date
)
//英文月份名
NOW
(
)
//當(dāng)前時間
SEC_TO_TIME
(seconds
)
//秒數(shù)轉(zhuǎn)成時間
STR_TO_DATE
(string
,format
)
//字串轉(zhuǎn)成時間,以format格式顯示
TIMEDIFF
(datetime1
,datetime2
)
//兩個時間差
TIME_TO_SEC
(time
)
//時間轉(zhuǎn)秒數(shù)]
WEEK
(date_time
[,start_of_week
])
//第幾周
YEAR
(datetime
)
//年份
DAYOFMONTH(datetime)
//月的第幾天
HOUR(datetime)
//小時
LAST_DAY(date)
//date的月的最后日期
MICROSECOND(datetime)
//微秒
MONTH(datetime)
//月
MINUTE(datetime)
//分返回符號,正負或0
SQRT(number2)
//開平方
MySQl中有多種表示日期和時間的數(shù)據(jù)類型。其中YEAR表示年份,DATE表示日期,TIME表示時間,DATETIME和TIMESTAMP表示日期和實踐。它們的對比如下:
YEAR ,字節(jié)數(shù)為1,取值范圍為“1901——2155”
DATE,字節(jié)數(shù)為4,取值范圍為“1000-01-01——9999-12-31”
TIME,字節(jié)數(shù)為3,取值范圍為“-838:59:59——838:59:59”
DATETIME,字節(jié)數(shù)為8,取值范圍為“1000-01-01 00:00:00——9999-12-31 23:59:59”
TIMESTAMP,字節(jié)數(shù)為4,取值范圍為“19700101080001——20380119111407”
當(dāng)插入值超出有效取值范圍時,系統(tǒng)會報錯,并將零值插入到數(shù)據(jù)庫中。
首先,mysql中是沒有select current_time這么一說的(select是用來查詢有結(jié)果返回的表達式),select要么調(diào)用函數(shù)如select current_time(),或者說從數(shù)據(jù)表查詢數(shù)據(jù) select current_time from table。
其次,要注意mysql中對應(yīng)的時間日期格式類型,也就是UPDATE_DATE的字段類型,具體如下:
① 時間日期類型datetime/mysql時間戳timestamp(Ymdhis:20181212121212,對應(yīng)顯示2018-12-12 12:12:12),那么結(jié)果應(yīng)該是:UPDATE T_SYUTYOU SET UPDATE_DATE = now(); ,因為now()保存的結(jié)果是一個datetime類型
② 時間型time(his:121212,對應(yīng)顯示12:12:12),那么結(jié)果應(yīng)該是:UPDATE T_SYUTYOU SET UPDATE_DATE = curtime()/current_time(); ,因為curtime()和current_time()一樣保存的結(jié)果是一個time類型
③ 真正時間戳int unsigned(格林位置時間到目前位置的秒數(shù):1545891091),那么結(jié)果應(yīng)該是:UPDATE T_SYUTYOU SET UPDATE_DATE = unix_timestamp();,因為unix_timestamp()保存的結(jié)果是一個真正意義的時間戳
想要了解更多的一些關(guān)于MySQL的操作,可以去看看黑馬程序員的6天玩轉(zhuǎn)MySQL
網(wǎng)頁名稱:mysql中日期怎么表示 mysql表示日期的數(shù)據(jù)類型
轉(zhuǎn)載來于:http://www.rwnh.cn/article2/ddcjjoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、響應(yīng)式網(wǎng)站、外貿(mào)建站、商城網(wǎng)站、、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)