sql 时间模糊查询

数据库中的表leve,字段为id,add_dateadd_date的格式为:idadd_date12012-10-247:00:0022012-10-2432012-10... 数据库中的表leve , 字段为 id , add_date
add_date的格式为:
id add_date
1 2012-10-24 7:00:00
2 2012-10-24
3 2012-10-25 7:00:00
4 2012-12-24 7:00:00

假如我要查询所有2012年10月的所有数据怎么写SQL语句?
应该是查处id 1 , 2, 3
3条数据

不是oracle 是PostgreSQL
展开
 我来答
xdownx
2012-12-17 · TA获得超过2052个赞
知道小有建树答主
回答量:1135
采纳率:0%
帮助的人:1198万
展开全部
查询12年10份的所有数据:
SELECT * FROM leve WHERE datediff(month,add_date,‘2012-10-01’)=0
更多追问追答
追问
不对。
column "month" does not exist
追答
SELECT * FROM leve WHERE datediff(month,add_date,'2012-10-01')=0

这里你得看到一个问题,复制到SQL执行页面时,注意单引号。如果你那边还报错的话,请问你的是SQL Server数据库吗?我这边运行是正常的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f9f2af3
2012-12-17 · TA获得超过357个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:238万
展开全部
select * from where convert(nvarchar(6),add_date,112)='201210'
如果是1月份,就是201201
更多追问追答
追问
不对
function nvarchar(integer) does not exist
追答
什麼情况?你是什麼环境啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-12-17
展开全部
Select * from employee where left (CONVERT(varchar(100), hire_date, 23),7)='2012-10'
更多追问追答
追问
这些23,7是什么???
追答
CONVERT(varchar(100), hire_date, 23) 查询 葛时 2006-05-16
left (,7)是取左边起7位数

oracle
select * from leve where to_date(add_date ,'YYYY-Mm')='2012-10'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式