注册 登录
编程论坛 SQL Server论坛

如何模糊查询日期年份?

一刀客 发布于 2007-12-17 14:11, 3502 次点击
比如我要查询2005年份所有商品的信息,日期的数据类型为datetime,里面有好多像"2005-12-4"这样的日期。列名为:日期
我这样写:
select * from db_GoodsInfo where 日期 like '2005%'
但这样没有任何结果~~
错在哪?
7 回复
#2
XieLi2007-12-17 14:28
select * from db_GoodsInfo where YEAR(日期) like '2005%'
#3
purana2007-12-17 14:31
楼上的..你已经用Year取了年份了..那直接=2005就行了.不用like
#4
XieLi2007-12-17 14:32
呵呵!谢谢楼上提醒!
#5
purana2007-12-17 14:33
select * from db_GoodsInfo where convert(char(4),日期,120) ='2005'
select * from db_GoodsInfo where convert(char(10),日期,120)  like '2005%'
select * from db_GoodsInfo where year(日期) = '2005'
select * from db_GoodsInfo where datepart(year,日期)=2005
#6
一刀客2007-12-17 18:17
多谢指点
#7
ynqj_hook2008-03-01 14:34
不如这样
select * from db_GoodsInfo where 日期 > '2004-12-31' and 日期 < '2006-1-1'
在where语句中使用函数性能降低.
#8
LZU197202052011-02-19 07:42
刚接触SQL SEVER 2000,通过此贴学习了在查询中使用日期的方法.
1