表里面的数据是很多年的数据了,要求每次运行时自动查找出当前月的数据。例如表A:ID Name Date
1 AAA 2009-1-1
2 BBB 2010-1-1
3 CCC 2010-1-10因为现在是2010年1月份,所以查询到的结果应该为:
2 BBB 2010-1-1
3 CCC 2010-1-10我现在的做法是
select * from 表A WHERE (((Month([Date]))=Month(Date())) AND ((Year([Date]))=Year(Date())));
就是根据Date字段来判断它的年是否等于现在日期的年,月是否等于现在日期的月。我想请教下大家除了这种方法还有没有其它更灵活简便的方法?
1 AAA 2009-1-1
2 BBB 2010-1-1
3 CCC 2010-1-10因为现在是2010年1月份,所以查询到的结果应该为:
2 BBB 2010-1-1
3 CCC 2010-1-10我现在的做法是
select * from 表A WHERE (((Month([Date]))=Month(Date())) AND ((Year([Date]))=Year(Date())));
就是根据Date字段来判断它的年是否等于现在日期的年,月是否等于现在日期的月。我想请教下大家除了这种方法还有没有其它更灵活简便的方法?
解决方案 »
- 从一张表中拆分数据到n张表
- 有人能教教我怎么把图片存入sqlserver里,
- 大家分析一下这两种写法得到的结果怎么会不一样的。。。
- 询问SQLSERVER 数据库,如何关闭 警告: 已创建表 '#Temp_Export_Customer',但其最大行大小 ...的信息..
- 疑难 ! 高手和有魄力解决这个问题的进来! 创建存储过程出的错误
- 求sql语句,谢谢,在线等(想了半天没结果)
- 我要找不再某一范围内的数字
- 一条查询语句是在想不出来了,急,急,急,解决即揭帖!
- Sql Server 和 Asp 之间的问题?不能用。
- 请问为什么SQL2005安装好后,打开登陆界面时要求填写服务器名称,我写入计算机名称,电脑提示无法连接?
- SQL,yyyyMMddhhmmssffff时间格式,希望直接给答案,谢谢!在线等~~~~~~~
- 大侠救命!求从两个以上字段获取记录,但符合其中一字段记录要有唯一性?
where datediff(month,Date,getdate())=0
drop table ta
Go
Create table ta([ID] int,[Name] nvarchar(3),[Date] Datetime)
Insert ta
select 1,N'AAA','2009-1-1' union all
select 2,N'BBB','2010-1-1' union all
select 3,N'CCC','2010-1-10'
Go
select * from ta
where datediff(month,Date,getdate())=0
/*
ID Name Date
----------- ---- -----------------------
2 BBB 2010-01-01 00:00:00.000
3 CCC 2010-01-10 00:00:00.000(2 個資料列受到影響)
*/
select * from tb
where datediff(month,Date,getdate()) = 0
感谢大家啊!
datediff(mm,Date,getdate())=0