国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySql查詢時(shí)間段的方法

2020-01-18 23:02:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了MySql查詢時(shí)間段的方法。分享給大家供大家參考。具體方法如下:

MySql查詢時(shí)間段的方法未必人人都會(huì),下面為您介紹兩種MySql查詢時(shí)間段的方法,供大家參考。

MySql的時(shí)間字段有date、time、datetime、timestamp等,往往我們?cè)诖鎯?chǔ)數(shù)據(jù)的時(shí)候?qū)⒄麄€(gè)時(shí)間存在一個(gè)字段中,采用datetime類型;也可能采用將日期和時(shí)間分離,即一個(gè)字段存儲(chǔ)date,一個(gè)字段存儲(chǔ)時(shí)間time。無(wú)論怎么存儲(chǔ),在實(shí)際應(yīng)用中,很可能會(huì)出現(xiàn)包含“時(shí)間段”類型的查詢,比如一個(gè)訪問(wèn)記錄數(shù)據(jù)庫(kù),需要統(tǒng)計(jì)每天的訪問(wèn)數(shù)量,這個(gè)每天就是一個(gè)時(shí)間段。下面介紹MySql查詢時(shí)間段的兩種常見(jiàn)方法,其他數(shù)據(jù)庫(kù)也可以類似實(shí)現(xiàn)。

方法一:傳統(tǒng)方式,即指定開(kāi)始時(shí)間和結(jié)束時(shí)間,用"between”或者"<",">"來(lái)建立條件,比如查詢2010年3月1日到2010年3月2日的數(shù)據(jù)條數(shù),則可以使用

復(fù)制代碼 代碼如下:
select count(*) from sometable where datetimecolumn>='2010-03-01 00:00:00' and datetimecolumn<'2010-03-02 00:00:00'

但是,這種方法由于時(shí)間不是整數(shù)型數(shù)據(jù),所以在比較的時(shí)候效率較低,所以如果數(shù)據(jù)量較大,可以將時(shí)間轉(zhuǎn)換為整數(shù)型的UNIX時(shí)間戳,這就是方法二。

方法二:UNIX時(shí)間戳,每個(gè)時(shí)間對(duì)應(yīng)了一個(gè)唯一的UNIX時(shí)間戳,該時(shí)間戳是從'1970-01-01 00:00:00' 為0開(kāi)始計(jì)時(shí),每秒增加1。MySql內(nèi)置了傳統(tǒng)時(shí)間和UNIX時(shí)間的互換函數(shù),分別為:

UNIX_TIMESTAMP(datetime)
FROM_UNIXTIME(unixtime)

比如運(yùn)行

復(fù)制代碼 代碼如下:
SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')

返回1267372800

運(yùn)行

復(fù)制代碼 代碼如下:
SELECT FROM_UNIXTIME(1267372800)

返回'2010-03-01 00:00:00'

于是,我們可以將時(shí)間字段里的數(shù)據(jù)替換為整型的UNIX時(shí)間,這樣,比較時(shí)間就成為整數(shù)比較了,建立索引后能大大提高效率。在查詢的時(shí)候,需要把起點(diǎn)時(shí)間和結(jié)尾時(shí)間分別轉(zhuǎn)換為UNIX時(shí)間再進(jìn)行比較,如:

復(fù)制代碼 代碼如下:
select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and datetimecolumn<UNIX_TIMESTAMP('2010-03-02 00:00:00')

也可以在調(diào)用程序中先轉(zhuǎn)換為UNIX時(shí)間再傳入MySql,總之這種方式有利于快速查詢時(shí)間段,不過(guò)顯示時(shí)間則需要再反轉(zhuǎn)一次。

希望本文所述對(duì)大家的MySQL數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临邑县| 元谋县| 东乡族自治县| 无为县| 普安县| 枣阳市| 大新县| 承德市| 宁化县| 榆林市| 博客| 临颍县| 烟台市| 安西县| 门源| 固阳县| 龙泉市| 固安县| 日喀则市| 赫章县| 扎兰屯市| 台东市| 南靖县| 新闻| 台湾省| 南皮县| 东丽区| 舒城县| 宁国市| 福泉市| 靖远县| 龙江县| 杭锦旗| 贡觉县| 增城市| 盐城市| 师宗县| 闽侯县| 敖汉旗| 富川| 五寨县|