SQL中两个日期的查询语句怎么写?

日期的查询语句?between...and...忘记具体怎么写了?

1、创建测试表,

create table test_date(id int, v_date date);

2、插入测试数据

insert into test_date values (1, STR_TO_DATE('2016-01-02', '%Y-%m-%d'));

insert into test_date values (2, STR_TO_DATE('2019-01-02', '%Y-%m-%d'));

insert into test_date values (3, STR_TO_DATE('2019-11-02', '%Y-%m-%d'));

insert into test_date values (4, STR_TO_DATE('2019-11-14', '%Y-%m-%d'));

3、查询原始表的记录,select t.* from test_date t,

4、编写sql,限定两个日期,查询记录,

select * from test_date t where DATE_FORMAT(v_date, '%Y-%m-%d') in ('2016-01-02','2019-11-02'),

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-20
这个要区分数据库的。如果是informix、mysql、sybase可以直接以字符串形式查询,如果是oracle那就需要加to_date函数。
不用写什么between and ,直接写大于小于号即可。
写字符串的时候注意标准格式:2012-04-20 10:00:00 或者2012/04/20 10:00:00
第2个回答  推荐于2017-11-25
你是条件带两个日期,还是想提取两个日期字段?
SELECT rq1,rq2 from table_name
where To_Char(rq1, 'yyyy-mm-dd') BETWEEN '2012-04-01' AND '2012-04-01' ;追问

就是一个表中有起始日期和结束日期两列字段,想通过日期查询语句查出某某日期的记录。。。

追答

select * from r_lht_404
where TO_DATE('24-02-2009 00:00:00','DD-MM-YYYY HH24:MI:SS') between dt_begin and dt_end;

追问

谢谢。。。

追答

不用谢。

本回答被提问者和网友采纳
第3个回答  2012-04-20
查询当前系统时间为select sysdate from dual;
查询两个日期之间的月数(date1-date2)用months_between(date1,date2)单值函数。例如:
select months_between(hiredate,sysdate) from emp;
第4个回答  2012-04-20
你想表达什么意思?
相似回答