模糊查询时间问题,

百年树熊 2006-06-26 11:35:56
SQL查询数据库,
select * testtable where TB_Datatime like (当前年份)
TB_Datatime是表的一日期型的字段,先打算查询出此字段数据在当前年份的,考虑是用模糊查询,可只知道有个getdate(),写了:select * testtable where TB_Datatime like %getdate()%,可是不对。请指教该如何写?急!!
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangpei2008 2006-06-26
  • 打赏
  • 举报
回复
Declare @t Table(rq datetime)
Insert @t Select '2005-8-9'
Union all Select '2004-8-6'
Union all Select '2006-8-6'
--测试
Select * From @t
where rq like '%'+datename(year,getdate())+'%' --形成'%2006%',而不是'%2006-6-26 23:50:00%'
百年树熊 2006-06-26
  • 打赏
  • 举报
回复
我也想起来了,还有个datediff(),其实还刚用过的,我真晕!太感谢了!!
LouisXIV 2006-06-26
  • 打赏
  • 举报
回复
--测试效果可以参看下面:)

select datediff(year,'2006/1/1',getdate())
select datediff(year,'2005/12/31',getdate())
select datediff(year,'2006/12/31',getdate())
select datediff(year,'2007/1/1',getdate())
LouisXIV 2006-06-26
  • 打赏
  • 举报
回复
--如果是日期型,可以试试

select * from testtable where datediff(year,TB_Datatime,getdate())=0

--BTW:lz漏了个from

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧