⑴ sql如何取某年某月的第一天和最後一天
SELECT CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)--第一天
SELECT DATEADD(DAY,-1,DATEADD(MONTH,1,CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)))--最後一天
原理:第一天肯定是1號拉,最後一天是下個月第一天減一天。
本月第一天
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate()), 0)) as mouthlastdate
下月第一天:
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate
下下月第一天:
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+2, 0)) as mouthlastdate
(1)sql查詢每月一天數據擴展閱讀
sqlserver 時間格式函數詳細
--getdate 獲取當前時間
select getdate()
--dateadd 原有時間加: 2013-02-17 13:20:16 此時間加12個月
select dateadd(MONTH,12,'2013-02-17 13:20:16') --返回:2014-02-17 13:20:16.000 (參數month可以改為 day,year等日期加相應的值)
--datediff 兩個時間的差 (後面-前面=返回值)
select datediff(day,'2013-02-01','2013-02-18') --返回:17 (參數day可以改為 month,year等日期加相應的值)
--datepart 獲取日期的某個部分整數
select DATEPART(month, '2013-2-17') --返回 2 (參數month可以改為 day,year等日期加相應的值)
--datename 獲取指定部位的字元串
select datename(weekday, '2013-2-17') --返回 星期日 (參數weekday可以改為 day,year等日期加相應的值)
--day(), month(),year() 獲取指定部位的字元串
select day('2013-2-15') --返回15
⑵ SQL中查詢一個月每天的數據,(以早八點到晚八點為一天),怎麼查啊
兩種方法
將資料庫中時間欄位 - 8小時 後取日期比較
用 日期欄位 >= (查詢日期- 8H )and 日期欄位 >= (查詢日期+1D- 8H)
以上是思路,建議採取第二種,具體方法自己實踐
⑶ SQL語句統計每天、每月、每年的銷售總額
一、SQL語句統計每年的銷售總額
select year(ordertime) 年,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime)
二、SQL語句統計每月的銷售總額
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime
三、SQL語句統計每日的銷售總額
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime),
day(ordertime)
(3)sql查詢每月一天數據擴展閱讀
mysql查詢每天、每周、每月的數據方法
一、查詢每天的數據
SELECT
COUNT(1) AS countNumber,
DATE_FORMAT(createTime,'%Y-%m-%d') AS dateTime
FROM
testTable
GROUP BY DATE_FORMAT(createTime,'%Y-%m-%d')
二、查詢每周的數據
SELECT
COUNT(1) AS countNumber,
WEEK(createTime) as dateTime
FROM
testTable
GROUP BY WEEK(createTime)
三、查詢每月的數據:
SELECT
COUNT(1) AS countNumber,
MONTH(createTime) as dateTime
FROM
testTable
GROUP BY MONTH(createTime)
⑷ sql 選取一月中每天一段時間的數據
恩....,你用應該是查一個月的某幾個小時內的數據條數的總和是吧。
你可以用DATEPART(hh,時間欄位)截取到小時然後大於等於,小於等於
後面在用一次這個函數截取到月,然後按月分組就行了。
舉例:
select 月份,count(*) from table where DATEPART(hh,時間欄位)<=10 and DATEPART(hh,時間欄位)>=8 group by DATEPART(mm,時間欄位)
有些地方還要調整,這個語句只是有個大概的方向,其他的你就自己慢慢調吧。
⑸ sql題 如何統計查詢一個月中每天的記錄
1、查詢當天的所有數據
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。
它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
⑹ sql語句如何查日期欄位的某天的數據
1、創建測試表,
create table test_date(id varchar2(20), v_date date);