数据库date查询
Ⅰ SQL中按日期进行查询,如何截取日期进行查询
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,具体用法一下
如果是oracle数据库请用to_date()代替cast将日期时间字段转换为日期来查询
祝你成功!
Ⅱ 数据库的日期区间查询方法。
有两种方式:to_char方式和to_date方式。
假设要查询2011-05-02到2011-05-30之间的数据,实现方式如下:
1、to_date方式:
select * from tablename where time>=to_date('2011-05-02','yyyy-mm-dd') and time <=
to_date('2011-05-30','yyyy-mm-dd');
运行的结果是:可以显示-02的数据,但是不能显示05-30的数据。
运行的结果是:可以显示05-02的数据,但是不能显示05-30的数据。
所以可以得出结论:
(1)如果想显示05-30的数据可以to_date('2011-05-31','yyyy-mm-dd'),这样就能显示30号的了。
(2)如果想要显示05-30的数据可以to_date('2011-05-30 23:59:59 999','yyyy-mm-dd hh24:mi:ss')也是可以查出来的。
2、to_char方式:
同样查询上面两个日期
select * from tablename where to_char(time,'yyyy-mm-dd')>=2011-05-02 and
to_char(time,'yyyy-mm-dd')<=2011-05-3;
查询结果:可以同时显示05-02和05-30的数据。
另外:可以用between and 代替 >=符号。
(2)数据库date查询扩展阅读:
SQL数据库语句:
创建数据库:
CREATE DATABASE database-name。
删除数据库:
drop database dbname。
创建新表:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)。
删除新表:
drop table tabname。
增加一个列:
Alter table tabname add column col type。
添加主键:
Alter table tabname add primary key(col)。
删除主键:
Alter table tabname drop primary key(col)。
创建索引:
create [unique] index idxname on tabname(col….)。
删除索引:
drop index idxname。
创建视图:
create view viewname as select statement。
删除视图:
drop view viewname。
Ⅲ SQL 如何查询日期在一定范围内的数据
select * from 表 where 日期字段>='开始日期' and 日期字段<='截止日期' and convert(char(8),日期字段,108)>='开始时间' and convert(char(8),日期字段,108)<='截止时间'。
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'。
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'.
select * from table1where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
(3)数据库date查询扩展阅读:
SQL查询日期:
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0
昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1
7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7
30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30
本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0
本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0
参考资料:SQL_网络
Ⅳ 如何查询日期型数据,SQL语句怎么写
1、查 表1 中 字段1 在某时间段的数据:
SELECT*FROM表1
where字段1between‘2016-01-01’and‘2016-01-02’
2、查 表1 中 字段1 在等内于某时间的数据:
SELECT*FROM表1
where字段1=‘2016-01-01'
--等效容于
SELECT*FROM表1
where字段1=‘2016-01-0100:00:00'
3、别的情况,比如 大于、小于、不等于,类似以上。改逻辑符号即可。
Ⅳ oracle中,有一个test表,表中有一date类型的date字段,如何根据条件查询date数据啊
以下每一句效果都一样:
1、Select * from a where date between to_date('2018-1-1', 'yyyy-mm-dd') and to_date('2018-8-1','yyyy-mm-dd')
2、Select * from a where date between to_date('2018/1/1', 'yyyy/mm/dd') and to_date('2018/8/1','yyyy/mm/dd')
3、Select * from a where date between to_date('2018-1-1', 'yyyy/mm/dd') and to_date('2018/8/1','yyyy-mm-dd')
(5)数据库date查询扩展阅读
数据库中Date与DateTime的区别
Date:代表xxxx年xx月xx日 只表示前面的日期,是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日,只需要3个字节的存储空间。
DateTime:代表xxxx年xx月xx日xx时xx分xx秒 精确到时分秒,用于做时间戳,日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。
Ⅵ 数据库查询日期格式
实体映射类的上传时间属性的getter方法上
添加一个@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+08")注解
类似下面这样:
{
@DateTimeFormat(pattern="yyyy-MM-dd")
privateDateuploadTime;
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+08")
publicDategetUploadTime(){
returnuploadTime;
}
publicvoidsetUploadTime(DateuploadTime){
this.uploadTime=uploadTime;
}
}
Ⅶ 数据库中日期型数据如何查询
这个问题是要推敲SQL SERVER 琅绫擎的日期类型和DELPHI 琅绫擎的日期内类型格局不合容的,SQL 琅绫擎的日期类型为 ‘11-16-1978’,可以如许写:select * from table1 where birthday>='11-16-1978',你试一试。
Ⅷ 求助:SQL操作orcal数据库 根据date时间查询数据
str
=
"
select
AA,BB,CC
from
DATA01
where
ID='00123'
and
to_char(LOCATETIME,'yyyy-mm-dd
hh24:mi:ss')>='
"+StartTime+"
'
and
to_char(LOCATETIME,'yyyy-mm-dd
hh24:mi:ss')<='
"+EndTime
"
'
";
字符类型的值要用
单引号
括起来
Ⅸ sql数据库里datetime类型怎么查询
用CONVERT()
函数阿。
函数语法:CONVERT(data_type(length),data_to_be_converted,style)
假设你输入的key值是yymmdd这样的格式,那么你可以这样写:
select
*
from
news
where
convert(VARCHAR(100),infotime,112)
like
'%"&
key
&"%'
order
by
id
desc
如果输入的key是其它格式,那么style要改,网上有对应表,你可以去查
Ⅹ 数据库按时间查询
--我用6个变量表示你的dropdownlist传过来的值 假设传过来的时候是字符串形式
Declare @year1 varchar(10),@year2 varchar(10),@month1 varchar(10),@month2 varchar(10),
@day1 varchar(10),@day2 varchar(10) ;
Begin
select *
from tb
where convert(varchar(10),时间字段,120) between @year1+'-'+right('0'+@month1,2)+'-'+right('0'+@day1,2) and @year2+'-'+right('0'+@month2,2)+'-'+right('0'+@day2,2)
End;