自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩種常用MySql查詢時(shí)間段的方法

數(shù)據(jù)庫 MySQL
使用MySql數(shù)據(jù)庫的過程中我們最常用的就是查詢操作,下文將為您介紹兩種MySql查詢時(shí)間段的方法,供您參考借鑒。

MySql查詢時(shí)間段的方法很多,下面就為您介紹幾種最常用的MySql查詢時(shí)間段方法,如果您在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。無論怎么存儲(chǔ),在實(shí)際應(yīng)用中,很可能會(huì)出現(xiàn)包含“時(shí)間段”類型的查詢,比如一個(gè)訪問記錄數(shù)據(jù)庫,需要統(tǒng)計(jì)每天的訪問數(shù)量,這個(gè)每天就是一個(gè)時(shí)間段。下面介紹MySql查詢時(shí)間段的兩種常見方法,其他數(shù)據(jù)庫也可以類似實(shí)現(xiàn)。

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

  1. select count(*) from sometable where datetimecolumn>='2010-03-01 00:00:00' and   
  2. datetimecolumn<'2010-03-02 00:00:00'  
  3.  

但是,這種方法由于時(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開始計(jì)時(shí),每秒增加1。MySql內(nèi)置了傳統(tǒng)時(shí)間和UNIX時(shí)間的互換函數(shù),分別為

UNIX_TIMESTAMP(datetime)
FROM_UNIXTIME(unixtime)

比如運(yùn)行SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')

返回1267372800

運(yùn)行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)行比較,如

  1. select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and  
  2. datetimecolumn<UNIX_TIMESTAMP('2010-03-02 00:00:00')  
  3.  

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

 

 

【編輯推薦】

深度解析MySQL查詢緩存機(jī)制

MySQL無重復(fù)查詢的實(shí)現(xiàn)

MySQL中SELECT命令的特殊用法

mysql命令行參數(shù)簡介

Mysql命令行導(dǎo)入sql數(shù)據(jù)的實(shí)現(xiàn)

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-10-13 16:49:56

MySql查詢時(shí)間段

2010-09-24 19:23:51

SQL查詢時(shí)間段

2010-09-25 16:32:02

SQL語句

2010-11-22 11:25:07

MySQL查詢時(shí)間段

2010-10-14 14:33:15

MySQL多表聯(lián)查

2021-11-02 18:27:48

數(shù)據(jù)挖掘項(xiàng)目

2020-02-05 14:31:04

兩種互通方法

2010-11-23 11:53:37

MySQL查詢表字段

2010-10-11 10:31:51

MySQL分區(qū)

2009-07-31 14:04:11

C#時(shí)間比較大小

2010-08-13 15:12:05

CISCO密碼

2010-08-20 13:51:44

路由器密碼

2009-11-11 16:36:19

路由協(xié)議介紹

2010-03-05 16:03:30

Python連接數(shù)據(jù)庫

2009-12-18 09:45:12

ADSL無線共享上網(wǎng)

2009-12-14 15:34:54

動(dòng)態(tài)路由協(xié)議

2011-06-23 09:07:16

2012-10-16 09:40:38

洗牌算法

2019-08-14 15:18:55

MySQLSQL數(shù)據(jù)庫

2010-09-17 09:37:27

Java安裝方法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)