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 select
year(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中按日期进行查询,如何截取日期进行查询的主要内容,如果未能解决你的问题,请参考以下文章

sql 如何只截取日期数据的 时分秒 ?

sql如何截取日期字段中的年和月

SQL里怎么把日期截取为月份

sql数据表里面取日期的年月日

如何在数据库中利用sql从18位身份证号中截取出生日期,身份证号在reader表中

数据库的日期区间查询方法。