某月sql
1. sql如何按日期中的月份查詢
sql按日期中的月份查詢如下:
SQL Server
select * from [data] where DATEPART(m,[date])=2
Access
select * from [data] where DATEPART('m',[date])=2
說明:
DATEPART(datepart,date)
返回表示指定日期的指定部分的整數
datepart 要取得的日期部分
- m 表示月份,d表示日,yyyy表示年
date 日期表達式
舉例:
--以2013-12-10 12:56:55為例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10
--DATEPART(month,CreateDate) => 12
--DATEPART(year,CreateDate) => 2013
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
(1)某月sql擴展閱讀:
相關函數
SQL Aggregate 函數
SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。
有用的 Aggregate 函數:
AVG() - 返回平均值
COUNT() - 返回行數
FIRST() - 返回第一個記錄的值
LAST() - 返回最後一個記錄的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回總和
SQL Scalar 函數
SQL Scalar 函數基於輸入值,返回一個單一的值。
有用的 Scalar 函數:
UCASE() - 將某個欄位轉換為大寫
LCASE() - 將某個欄位轉換為小寫
MID() - 從某個文本欄位提取字元
LEN() - 返回某個文本欄位的長度
ROUND() - 對某個數值欄位進行指定小數位數的四捨五入
NOW() - 返回當前的系統日期和時間
2. 怎麼利用SQL語句計算某年某月有多少天
用SQL語句吧。先比較一下select max(date) from tablewhere date between "yyyy-mm-dd" and "yyyy-mm-dd"先把上個月的最大值拿出來,然後再用當前的值跟它比較。其實就是統計當前資料庫中的最新插入數據的日期。select top 1 from tableorde by data desc這樣就把資料庫中的日期欄位按降序,排出來,而top1會把最頂上,也就是最大的值拿出來。拿出來了,就可以算了。用最新的那個日期減去上個月的。如果值等於月份天數。就說明夠一個月了。再按照你自己的算錢的方法來算吧!
3. SQL查詢某一個月份表的所有記錄怎麼寫
月份用mohth函數取得
返回一個表示日期中的「月份」日期部分的整數。
語法
MONTH(date)
參數
date
是任意日期格式的日期。
--------------------------------------
如果參數為空,則 MONTH 返回的結果為空。
日期文字必須顯式轉換為日期數據類型之一。
使用 MONTH 函數更為簡要,但等價於使用 DATEPART("Month", date)。
SQL語句可以這樣寫
select 欄位1,欄位2,欄位n from 表
where 條件1 and 條件2 and 條件n and month(日期欄位)=數字月份
4. SQL怎麼取某月的最後時刻
形成能量氣場
5. 我想查詢某個月份內的所有數據 sql語句
你是什麼資料庫系統?
主要思路是這樣:
S_date>=當月的1號 and S_date<'下月1號'
這里只需要調用一些資料庫系統自帶的日期函數就可以完成了,很簡單的.
6. sql中查詢某月內的記錄
select * from 表名 where month(日期欄位)=8 and 員工欄位='小張'
7. SQL語句,怎麼讀取資料庫中某個月的數據
select * from [表名]
WHERE DATEPART(MONTH,[日期欄位])=1
一般情況下是與年相關聯的
select * from [表名]
WHERE DATEPART(YEAR,[日期欄位])*100+DATEPART(YEAR,[日期欄位])=200701
這個是查2007年1月的數據
8. 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
(8)某月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
9. sql查詢某一個月的數據
select * from dmz where datediff(M,發卡日期,a1)=0 這個a1可以是正常的日期,不需要去截取月份
10. sql查詢某人某月總入住天數
/*
已考慮
當月第一條記錄是O狀態,也就是上一個月沒退房
當月最後一條記錄是I狀態,也就是當月沒退房
*/
CreateTableT
(
cNameVarchar(10),
cTypeVarchar(2),
dDateDatetime
)
insertintoTvalues('張三','O','2015-1-3')
insertintoTvalues('張三','I','2015-1-5')
insertintoTvalues('張三','O','2015-2-5')
insertintoTvalues('張三','I','2015-2-7')
insertintoTvalues('張三','O','2015-2-8')
insertintoTvalues('張三','I','2015-2-10')
insertintoTvalues('李四','I','2015-2-15')
SelectYM,cName,SUM(iday)AssDay
From
(
Selectisnull(A.YM,B.YM)AsYM,isnull(A.cName,B.cName)AscName,
DATEDIFF(DAY,isnull(A.dDate,B.YM+'-01'),isnull(b.dDate,DATEADD(day,-1,DATEADD(month,1,A.YM+'-01'))))Asiday
From
(
SelectcName,ddate,Convert(Varchar(7),ddate,121)AsYMFromTWherecType='I'
)A
FullJoin
(
SelectcName,ddate,Convert(Varchar(7),ddate,121)AsYMFromTWherecType='O'
)BonA.cName=B.cNameAndA.YM=B.YMAndA.dDate<B.dDate
)SwhereYM='2015-02'
GroupByYM,cName