1. 程式人生 > >Sql Server查詢指定範圍(一週、一月、本週、本月等)內的資料

Sql Server查詢指定範圍(一週、一月、本週、本月等)內的資料

查詢當天日期在一週年的資料

select*fromShopOrderwhere datediff(week,ordTime,getdate()-1)=0
                                查詢當天的所有資料
select*fromShopOrderwhere datediff(day,ordTime,getdate()-1)=0{-前30天--}
 SELECT * FROM A where datediff(d,datetime,getdate())<=30
                                上一月
 SELECT * FROM A WHERE DATEDIFF
(m, shijian, GETDATE())<=1
                                --查詢當天:
select*from info whereDateDiff(dd,datetime,getdate())=0
                                --查詢24小時內的:
select*from info whereDateDiff(hh,datetime,getDate())<=24
                                --info為表名,datetime為資料庫中的欄位值

                                --查詢當天:
select*from info whereDateDiff(dd,datetime,getdate())=0
                                查詢24小時內的:
select*from info whereDateDiff(hh,datetime,getDate())<=24
                                --info為表名,datetime為資料庫中的欄位值

                                查詢當天記錄另類的方法
SELECT * 
FROM j_GradeShop 
WHERE 
(GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(),10)+' 00:00:00.000') AND CONVERT(datetime, LEFT(GETDATE(),10)+' 00:00:00.000')+1) ORDER BY GAddTime DESC
                                --查詢當天記錄另類的方法
SELECT *
FROM j_GradeShop
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(),10)+' 00:00:00.000')
AND CONVERT(datetime, LEFT(GETDATE(),10)+' 00:00:00.000')+1)
ORDER BY GAddTime DESC

DATEDIFF 函式: 語法: DATEDIFF ( datepart , startdate , enddate ) 備註:enddate 減去 startdate。如果 startdate 晚於 enddate,則返回負值。 如果結果超出整數值範圍,則 DATEDIFF 將產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鐘零 23.647; 秒。對於秒,最大數是 68 年。 跨分鐘、秒和毫秒等邊界計算的方法使得 DATEDIFF 指定的結果在所有資料型別中均一致。結果是帶正負號的整數值,它等於跨第一個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。

可以再MSSQL中測試: {-- --兩個時間差剛好是24

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')
                                --本月記錄
SELECT * FROM  WHERE datediff(month,[dateadd],getdate())=0
                                --本週記錄
SELECT * FROM  WHERE datediff(week,[dateadd],getdate())=0
                                --包括本年這些查詢方式是一樣的

sql server中的時間函式 1. 當前系統日期、時間 select getdate()

  1. dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如:向日期加上2天
select dateadd(day,2,'2004-10-15')--返回:2004-10-1700:00:00.000
  1. datediff 返回跨兩個指定日期的日期和時間邊界數。
select datediff(day,'2004-09-01','2004-09-18')--返回:17
                                4. datepart 返回代表指定日期的指定日期部分的整數。
SELECT DATEPART(month,'2004-10-15')--返回10
                                5. datename 返回代表指定日期的指定日期部分的字串
SELECT datename(weekday,'2004-10-15')--返回:星期五
                                6. day(), month(),year() --;可以與datepart對照一下
select當前日期=convert(varchar(10),getdate(),120),當前時間=convert(varchar(8),getdate(),114)select datename(dw,'2004-10-15')select本年第多少周=datename(week,'2004-10-15'),今天是周幾=datename(weekday,'2004-10-15')
                                函式 引數/功能

GetDate( ) 返回系統目前的日期與時間 DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 與date1兩個日期之間的差值 date2-date1; DateAdd (interval,number,date) 以interval指定的方式,加上number之後的日期 DatePart (interval,date) 返回日期date中,interval指定部分所對應的整數值 DateName (interval,date) 返回日期date中,interval指定部分所對應的字串名稱

引數 interval的設定值如下:

值 縮 寫(Sql Server) Access 和 ASP 說明 Year Yy yyyy 年 1753 ~ 9999 Quarter Qq q 季 1 ~ 4 Month Mm m 月1 ~ 12 Day of year Dy y 一年的日數,一年中的第幾日 1-366; Day Dd d 日,1-31 Weekday Dw w 一週的日數,一週中的第幾日 1-7; Week Wk ww 周,一年中的第幾周 0 ~ 51 Hour Hh h 時0 ~ 23 Minute Mi n 分鐘0 ~ 59 Second Ss s 秒 0 ~ 59 Millisecond Ms -; 毫秒 0 ~ 999

access 和 asp 中用date()和now()取得系統日期時間;其中DateDiff,DateAdd,DatePart也同是能用於Access和asp中,這些函式的用法也類似

舉例: 1.GetDate() 用於sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值為 514592 秒 DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值為 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值為 2 即星期一(週日為1,週六為7) DatePart('d','2005-7-25 22:56:32')返回值為 25即25號 DatePart('y','2005-7-25 22:56:32')返回值為 206即這一年中第206天 DatePart('yyyy','2005-7-25 22:56:32')返回值為 2005即2005年

相關推薦

Sql Server查詢指定範圍(一月本週本月)資料

查詢當天日期在一週年的資料 select*fromShopOrderwhere datediff(week,ordTime,getdate()-1)=0 查詢當天的所有資料 select*fromShopO

sql語句如何查詢當天,一月資料的語句

sql查詢當天,一週,一個月資料的語句 --查詢當天:   select * from info where DateDiff(dd,datetime,getdate())=0  --查詢24小時內的:  select * from info where

mysql 查詢當天,一月查詢語句

select * from `t_exer_record_88` where DATE_SUB(CURDATE(), INTERVAL 7 DAY)<= date(update_time); select * from `t_exer_record_88` where DATE_SUB

SQL Server進階()T-SQL查詢和編程的背景

.com src 編程 server 分享 bubuko 進階 分享圖片 img SQL Server進階(一)T-SQL查詢和編程的背景

SQL Server 查詢字串中指定字元的個數

需求:查詢數字1在欄位Data中出現的次數。(表如上圖所示) 要查詢某個指定的字元在字串中出現的位置,方法比較簡單,使用 len() 函式和 replace() 函式結合就可以。 實現方法舉例: 假定@str就是表中的Data欄位 DECLARE @str VAR

SQL Server 查詢效能優化——建立索引原則(

 索引是什麼?索引是提高查詢效能的一個重要工具,索引就是把查詢語句所需要的少量資料新增到索引分頁中,這樣訪問資料時只要訪問少數索引的分頁就可以。但是索引對於提高查詢效能也不是萬能的,也不是建立越多的索引就越好。索引建少了,用WHERE子句找資料效率低,不利於查詢資料。索引建多

MySQL 根據時間查詢當天 昨天 一個月sql語句

MySQL 根據時間查詢當天 昨天 一週 一月 查詢當天:select * from 表名 where to_days(時間欄位名) = to_days(now()); 查詢昨天:SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_

Sql Server 查詢多條重複資料 刪除並保留

總是不會查重和刪除多餘資料 delete sysdba.PRODUCT from sysdba.PRODUCT a where exists (select Name,ACTUALID fr

SQL Server資料庫基礎(),資料庫表時間建立約束

管理器: 系統資料庫有四個: master:系統資訊,要經常備份 model:模板資料庫 tempdb:臨時資料庫 msdb:代理服務資料庫 資料庫的轉移: 直接找到資料庫的位置是不能剪下複製的,要先通過分離,斷開資料庫與SQL Server的連線

Sql Server 獲取指定檢視結構

1、獲取指定表、檢視的所有欄位屬性只要輸入不同的表/檢視名,就可以獲取該表的所有欄位名字、欄位長度、欄位型別、欄位說明、欄位是否允許為空、是否主鍵、是否自增長欄位等。USE [資料庫名稱] GO /*

SQL SERVER 查詢每日新增使用者數量次留數量

1、建立使用者新增表和登入日誌表: --使用者新增表 create table new_user (id int identity(1,1), uid varchar(20), regist_time datetime) insert into new_user(uid

SQL server 查詢出現:---“子查詢返回的值不止一個。當子查詢跟隨在 =!=<<=>>= 之後,或子查詢用作表達式時,這種情況是不允許的。”SQL查詢錯誤解析---

gui 允許 select 查詢語句 一對一 行數 style sql 之前 最近用select進行數據篩選,碰到下面的這個錯誤: ---子查詢返回的值不止一個。當子查詢跟隨在 =、!=、<、<=、>、>= 之後,或子查詢用作表達式時,這種情況是不

SQL Server 查詢性能優化——創建索引原則(二)

技術分享 dex ble 銷售 得到 with 9.png ron 條件 三:索引的建立原則   一般來說,建立索引要看數據使用的場景,換句話來說哪些訪問數據的SQL語句是常用的,而這些語句是否因為缺少索引(也有可能是索引過多)變的效率低下。但絕不是所有的SQL語句都要建

Sql Server 導入還有個數據庫中的表數據

數據庫 tex .net mark manage alt img 資源管理 一個數據庫 在涉及到SQL Server編程或是管理時一定會用到數據的導入與導出, 導入導出的方法有多種,此處以SQL Server導入表數據為例。闡述一下:1、打開SQL Server Mana

SQL Server查詢中特殊字符的處理方法

下劃線 包括 舉例 art 劃線 一個 表達 com ase SQL Server查詢中,經常會遇到一些特殊字符,比如單引號“‘”等,這些字符的處理方法,是SQL Server用戶都應該需要知道的。 我們都知道SQL Server查詢過程中,單引號“‘”是特殊字符,所以在S

SQL Server 查詢處理中的各個階段(SQL執行順序)

派生 步驟 sel 合成 emp lec 限制 對象 沒有 SQL 不同於與其他編程語言的最明顯特征是處理代碼的順序。在大數編程語言中,代碼按編碼順序被處理,但是在SQL語言中,第一個被處理的子句是FROM子句,盡管SELECT語句第一個出現,但是幾乎總是最後被處

數據庫SQL語句查詢指定時間段的數據

between 數據 spa and -m 指定 timestamp mes font 【摘要】有的時候,我們需要查詢數據庫某段時間之間的數據,比如2016年5月1號到到5月3號之間用戶註冊數量(特殊節假日期間)等。那麽用SQL語句如何實現呢? 首先,數據表中的存時間的字段

SQL Server 查詢數據大小

spa space different dbcc sys 數據庫服務 gsp blog mas SELECT DB_NAME(database_id) AS [Database Name],[Name] AS [Logical Name],[Physical_Name]

深入淺出的 SQL Server 查詢優化

import 抽象 one 圖書 不同的 創建 vertical border server 目前網絡數據庫的應用已經成為最為廣泛的應用之一了,並且關於數據庫的安全性,性能都是企業最為關心的事情。數據庫漸漸成為企業的命脈,優化查詢就解決了每個關於數據庫應用的性能問題,在這裏

sql server 查詢某個時間段共有多少周及每周的日期段

images first mage 語句 .html cas src exce 時間 sql 語句 select number+1 as wknum,dateadd(wk,number,‘2017-01-01‘) as firstday, (case when year(