某月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