mysql怎么篩選時間 sql如何篩選指定時間段的數(shù)據(jù)

在sql數(shù)據(jù)庫中如何篩選以日期為條件的記錄

1. 查看數(shù)據(jù)庫的版本

成都創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)深耕10年,專業(yè)且經(jīng)驗豐富。10年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為上千家中小企業(yè)提供了成都網(wǎng)站設計、網(wǎng)站制作解決方案,按需制作,設計滿意,售后服務無憂。所有客戶皆提供一年免費網(wǎng)站維護!

select @@version

2. 查看數(shù)據(jù)庫所在機器操作系統(tǒng)參數(shù)

exec master..xp_msver

3. 查看數(shù)據(jù)庫啟動的參數(shù)

sp_configure

4. 查看數(shù)據(jù)庫啟動時間

select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1

查看數(shù)據(jù)庫服務器名和實例名

print 'Server Name...............:' + convert(varchar(30),@@SERVERNAME)

print 'Instance..................:' + convert(varchar(30),@@SERVICENAME)

5. 查看所有數(shù)據(jù)庫名稱及大小

sp_helpdb

重命名數(shù)據(jù)庫用的SQL

sp_renamedb 'old_dbname', 'new_dbname'

6. 查看所有數(shù)據(jù)庫用戶登錄信息

sp_helplogins

查看所有數(shù)據(jù)庫用戶所屬的角色信息

sp_helpsrvrolemember

修復遷移服務器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程

更改某個數(shù)據(jù)對象的用戶屬主

sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'

注意:更改對象名的任一部分都可能破壞腳本和存儲過程。

把一臺服務器上的數(shù)據(jù)庫用戶登錄信息備份出來可以用add_login_to_aserver腳本

查看某數(shù)據(jù)庫下,對象級用戶權限

sp_helprotect

7. 查看鏈接服務器

sp_helplinkedsrvlogin

查看遠端數(shù)據(jù)庫用戶登錄信息

sp_helpremotelogin

8.查看某數(shù)據(jù)庫下某個數(shù)據(jù)對象的大小

sp_spaceused @objname

還可以用sp_toptables過程看最大的N(默認為50)個表

查看某數(shù)據(jù)庫下某個數(shù)據(jù)對象的索引信息

sp_helpindex @objname

還可以用SP_NChelpindex過程查看更詳細的索引情況

SP_NChelpindex @objname

clustered索引是把記錄按物理順序排列的,索引占的空間比較少。

對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數(shù)都用默認值。

查看某數(shù)據(jù)庫下某個數(shù)據(jù)對象的的約束信息

sp_helpconstraint @objname

9.查看數(shù)據(jù)庫里所有的存儲過程和函數(shù)

use @database_name

sp_stored_procedures

查看存儲過程和函數(shù)的源代碼

sp_helptext '@procedure_name'

查看包含某個字符串@str的數(shù)據(jù)對象名稱

select distinct object_name(id) from syscomments where text like '%@str%'

創(chuàng)建加密的存儲過程或函數(shù)在AS前面加WITH ENCRYPTION參數(shù)

解密加密過的存儲過程和函數(shù)可以用sp_decrypt過程

10.查看數(shù)據(jù)庫里用戶和進程的信息

sp_who

查看SQL Server數(shù)據(jù)庫里的活動用戶和進程的信息

sp_who 'active'

查看SQL Server數(shù)據(jù)庫里的鎖的情況

sp_lock

進程號1--50是SQL Server系統(tǒng)內部用的,進程號大于50的才是用戶的連接進程.

spid是進程編號,dbid是數(shù)據(jù)庫編號,objid是數(shù)據(jù)對象編號

查看進程正在執(zhí)行的SQL語句

dbcc inputbuffer ()

推薦大家用經(jīng)過改進后的sp_who3過程可以直接看到進程運行的SQL語句

sp_who3

檢查死鎖用sp_who_lock過程

sp_who_lock

11.查看和收縮數(shù)據(jù)庫日志文件的方法

查看所有數(shù)據(jù)庫日志文件大小

dbcc sqlperf(logspace)

如果某些日志文件較大,收縮簡單恢復模式數(shù)據(jù)庫日志,收縮后@database_name_log的大小單位為M

backup log @database_name with no_log

dbcc shrinkfile (@database_name_log, 5)

12.分析SQL Server SQL 語句的方法:

set statistics time

set statistics io

圖形方式顯示查詢執(zhí)行計劃

在查詢分析器-查詢-顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形

文本方式顯示查詢執(zhí)行計劃

set showplan_all

set showplan_text

set statistics profile

13.出現(xiàn)不一致錯誤時,NT事件查看器里出3624號錯誤,修復數(shù)據(jù)庫的方法

先注釋掉應用程序里引用的出現(xiàn)不一致性錯誤的表,然后在備份或其它機器上先恢復然后做修復操作

alter database [@error_database_name] set single_user

修復出現(xiàn)不一致錯誤的表

dbcc checktable('@error_table_name',repair_allow_data_loss)

或者可惜選擇修復出現(xiàn)不一致錯誤的小型數(shù)據(jù)庫名

dbcc checkdb('@error_database_name',repair_allow_data_loss)

alter database [@error_database_name] set multi_user

CHECKDB 有3個參數(shù):

repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數(shù)據(jù)丟失。

修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。

如果回滾修復,則數(shù)據(jù)庫仍會含有錯誤,應該從備份進行恢復。

如果由于所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決于該修復的修復。

修復完成后,請備份數(shù)據(jù)庫。

repai*_**st 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。

這些修復可以很快完成,并且不會有丟失數(shù)據(jù)的危險。

repair_rebuild 執(zhí)行由 repai*_**st 完成的所有修復,包括需要較長時間的修復(如重建索引)。

執(zhí)行這些修復時不會有丟失數(shù)據(jù)的危險。

添加、刪除、修改使用db.Execute(Sql)命令執(zhí)行操作

╔--------------------╗

☆ 數(shù)據(jù)記錄篩選 ☆

╚--------------------╝

注意:單雙引號的用法可能有誤(沒有測式)

Sql = Select Distinct 字段名 From 數(shù)據(jù)表

Distinct函數(shù),查詢數(shù)據(jù)庫存表內不重復的記錄

Sql = Select Count(*) From 數(shù)據(jù)表 where 字段名1#18:0:0# and 字段名1 #19:00#

count函數(shù),查詢數(shù)庫表內有多少條記錄,“字段名1”是指同一字段

例:

set rs=conn.execute(select count(id) as idnum from news)

response.write rs(idnum)

sql=select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2

Sql=select * from 數(shù)據(jù)表 where 字段名 between #2003-8-10# and #2003-8-12#

在日期類數(shù)值為2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。

select * from tb_name where datetime between #2003-8-10# and #2003-8-12#

字段里面的數(shù)據(jù)格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀錄,而不管是幾點幾分。

Sql=select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]

Sql=select * from 數(shù)據(jù)表 where 字段名 like '%字段值%' order by 字段名 [desc]

模糊查詢

Sql=select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]

查找數(shù)據(jù)庫中前10記錄

Sql=select top n * form 數(shù)據(jù)表 order by newid()

隨機取出數(shù)據(jù)庫中的若干條記錄的方法

top n,n就是要取出的記錄數(shù)

Sql=select * from 數(shù)據(jù)表 where 字段名 in ('值1','值2','值3')

╔--------------------╗

☆ 添加數(shù)據(jù)記錄 ☆

╚--------------------╝

sql=insert into 數(shù)據(jù)表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)

sql=insert into 數(shù)據(jù)表 valuess (值1,值2,值3 …)

不指定具體字段名表示將按照數(shù)據(jù)表中字段的順序,依次添加

sql=insert into 目標數(shù)據(jù)表 select * from 源數(shù)據(jù)表

把源數(shù)據(jù)表的記錄添加到目標數(shù)據(jù)表

╔--------------------╗

☆ 更新數(shù)據(jù)記錄 ☆

╚--------------------╝

Sql=update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達式

Sql=update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式

Sql=update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n

沒有條件則更新整個數(shù)據(jù)表中的指定字段值

╔--------------------╗

☆ 刪除數(shù)據(jù)記錄 ☆

╚--------------------╝

Sql=delete from 數(shù)據(jù)表 where 條件表達式

Sql=delete from 數(shù)據(jù)表

沒有條件將刪除數(shù)據(jù)表中所有記錄)

╔--------------------------╗

☆ 數(shù)據(jù)記錄統(tǒng)計函數(shù) ☆

╚--------------------------╝

AVG(字段名) 得出一個表格欄平均值

COUNT(*|字段名) 對數(shù)據(jù)行數(shù)的統(tǒng)計或對某一欄有值的數(shù)據(jù)行數(shù)統(tǒng)計

MAX(字段名) 取得一個表格欄最大的值

MIN(字段名) 取得一個表格欄最小的值

SUM(字段名) 把數(shù)據(jù)欄的值相加

引用以上函數(shù)的方法:

sql=select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達式

set rs=conn.excute(sql)

用 rs(別名) 獲取統(tǒng)的計值,其它函數(shù)運用同上。

╔-----------------------------╗

☆ 數(shù)據(jù)表的建立和刪除 ☆

╚-----------------------------╝

CREATE TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 數(shù)據(jù)表名稱 (永久性刪除一個數(shù)據(jù)表)

╔--------------------------╗

☆ 記錄集對象的方法 ☆

╚--------------------------╝

rs.movenext 將記錄指針從當前的位置向下移一行

rs.moveprevious 將記錄指針從當前的位置向上移一行

rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行

rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行

rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行

rs.absolutepage=N 將記錄指針移到第N頁的第一行

rs.pagesize=N 設置每頁為N條記錄

rs.pagecount 根據(jù) pagesize 的設置返回總頁數(shù)

rs.recordcount 返回記錄總數(shù)

rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否

rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否

rs.delete 刪除當前記錄,但記錄指針不會向下移動

rs.addnew 添加記錄到數(shù)據(jù)表末端

rs.update 更新數(shù)據(jù)表記錄

用Oracle數(shù)據(jù)庫?。。。。。。。。。。。。?!

mysql查詢數(shù)據(jù)庫時間怎么查

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

復制代碼 代碼如下:

select count(*) from sometable where datetimecolumn='2010-03-01 00:00:00' and datetimecolumn'2010-03-02 00:00:00'

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

mysql 里 時間字段篩選問題

比如說,當天時間:2008-09-10

用replace把"-"換成""

之后就可以用 時間字段 = 當天日期的替換結果了.

如何利用MySQL函數(shù)查詢特定的日期時間

MySQL數(shù)據(jù)庫中year()函數(shù)是求某個特定日期中的年份,代碼如下:

select '2015-08-11' as date,year('2015-08-11') as year;

確定一個日期是一年中的第幾個季度,可以用QUARTER()函數(shù)實現(xiàn),代碼如下:

SELECT '2015-08-11' AS DATE,QUARTER('2015-08-11') AS QUARTER;

返回一個日期是一年中的月份,利用month()函數(shù)實現(xiàn),代碼如下:

SELECT '2015-08-11' AS DATE,MONTH('2015-08-11') AS MONTH;

獲取一個確定日期是一個月份中的多少號,可以用day()函數(shù)求得,具體實現(xiàn)代碼如下:

SELECT '2015-08-11' AS DATE,DAY('2015-08-11') AS DAY;

有時日期中帶有時間,而如何獲取小時數(shù),這可以利用自帶的函數(shù)hour()實現(xiàn),代碼如下:

SELECT '2015-08-11 12:20:45' AS DATE,HOUR('2015-08-11 12:20:45') AS HOUR;

求取日期時間中的分鐘數(shù),可以利用MINUTE()函數(shù)實現(xiàn),代碼如下:

SELECT '2015-08-11 12:20:45' AS DATE,MINUTE('2015-08-11 12:20:45') AS MINUTE;

最后,獲取時間中的秒數(shù),利用SECOND()函數(shù)實現(xiàn),代碼如下:

SELECT '2015-08-11 12:20:45' AS DATE,SECOND('2015-08-11 12:20:45') AS SECOND;

mysql數(shù)據(jù)庫如何按照時間條件來批量篩選數(shù)據(jù)!

給你個建議,將時間字段date分成 year,month,day,time 四個字段

這樣就非常容易實現(xiàn)你的要求。

// 2012-6-1 最小的數(shù)據(jù)

select min(data) from table where year='2012' and month='6' and day='1'

// 2012-6 每天最小的數(shù)據(jù)

select min(data) from table where year='2012' and month='6' group by day

網(wǎng)頁標題:mysql怎么篩選時間 sql如何篩選指定時間段的數(shù)據(jù)
網(wǎng)頁地址:http://muchs.cn/article24/hgisje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站導航、網(wǎng)站維護網(wǎng)站制作、商城網(wǎng)站、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站