SQL中按日期进行查询,如何截取日期进行查询
需要在SQL中按日期进行查询,时间从2012-2014,可是时间是精确到秒的,如何分别查询2012,2013,2014的数据?...
需要在SQL中按日期进行查询,时间从2012-2014,可是时间是精确到秒的,如何分别查询2012,2013,2014的数据?
展开
5个回答
展开全部
sql server 中,
可以用cast()函数将日期时间转换为日期,
比如:cast('2014-01-22 13:22:35.000' as date) 的结果为2014-01-22
以下语句是查询2012年的数据,日期范围可以修改
select * 表名
where CAST(时间字段 as date) between '2012-01-01' and '2012-12-31'
如果要查全年数据,也可以这样,
select * 表名 where year(时间字段)=2012
另外,用convert()函数也可以将日期时间字段转换为日期字段来代替cast,具体用法baidu一下
如果是oracle数据库请用to_date()代替cast将日期时间字段转换为日期来查询
祝你成功!
可以用cast()函数将日期时间转换为日期,
比如:cast('2014-01-22 13:22:35.000' as date) 的结果为2014-01-22
以下语句是查询2012年的数据,日期范围可以修改
select * 表名
where CAST(时间字段 as date) between '2012-01-01' and '2012-12-31'
如果要查全年数据,也可以这样,
select * 表名 where year(时间字段)=2012
另外,用convert()函数也可以将日期时间字段转换为日期字段来代替cast,具体用法baidu一下
如果是oracle数据库请用to_date()代替cast将日期时间字段转换为日期来查询
祝你成功!
展开全部
那你就直接写 time>date'2012-01-01' and time<date'2013-01-01'
当然,如何把'2012-01-01'转换为数据库的时间类型,各种数据库是不一样的,oracle中是to_date('2012-01-01','yyyy-MM-dd')
当然,如何把'2012-01-01'转换为数据库的时间类型,各种数据库是不一样的,oracle中是to_date('2012-01-01','yyyy-MM-dd')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-10
展开全部
给你一个例子啊。
SELECT * FROM 表名
WHERE CREATETIME<TO_DATE('2013-05-1 00:00:00','yyyy-mm-dd hh24:mi:ss')
AND CREATETIME>TO_DATE('2013-04-1 00:00:00','yyyy-mm-dd hh24:mi:ss')
SELECT * FROM 表名
WHERE CREATETIME<TO_DATE('2013-05-1 00:00:00','yyyy-mm-dd hh24:mi:ss')
AND CREATETIME>TO_DATE('2013-04-1 00:00:00','yyyy-mm-dd hh24:mi:ss')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
日期 between '2012-01-01 00:00:00.000' and '2014-12-31 23:59:59.999'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
year(日期列)=2012
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询