SQL中按日期进行查询,如何截取日期进行查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中按日期进行查询,如何截取日期进行查询相关的知识,希望对你有一定的参考价值。
需要在SQL中按日期进行查询,时间从2012-2014,可是时间是精确到秒的,如何分别查询2012,2013,2014的数据?
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将日期时间字段转换为日期来查询
祝你成功! 参考技术A 那你就直接写 time>date'2012-01-01' and time<date'2013-01-01'
当然,如何把'2012-01-01'转换为数据库的时间类型,各种数据库是不一样的,oracle中是to_date('2012-01-01','yyyy-MM-dd') 参考技术B 给你一个例子啊。
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') 参考技术C 日期 between '2012-01-01 00:00:00.000' and '2014-12-31 23:59:59.999' 参考技术D year(日期列)=2012
sql如何截取日期字段中的年和月
sql如何截取日期字段中的年和月,日期字段中内容如"2008-12-01",现在让其截取出来显示为"200812"谢谢!
并不需要截取,通过year函数和month函数就可以解决。
比如字段名字叫startdate,类型是datetime。
获得字段中的年和月可用如下语句
select year(startdate) as 年,month(startdate) as 月 from 表名 参考技术A selectyear(getdate())
select
datepart(yy,getdate())
例如:
select
year(字段)
as
'年'
from
table_name
select
datepart(yy,字段)
as
'年'
from
table_name
用year()和datepart()函数都可以获取日期中的年。有问题可以追问或hi我。 参考技术B SELECT CAST(DATEPART(YEAR,GETDATE())AS VARCHAR)+CAST(DATEPART(MONTH,GETDATE()) AS VARCHAR)
方法很多啊 有需要就HI我 参考技术C SELECT DATENAME(yyyy, rq) + DATENAME(mm, rq) AS ny
from biao
返回的是字符型的本回答被提问者采纳
以上是关于SQL中按日期进行查询,如何截取日期进行查询的主要内容,如果未能解决你的问题,请参考以下文章