比如可以
SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10
Run Code Online (Sandbox Code Playgroud)
选择5和10还是他们被排除在范围之外?
如果我使用between子句运行查询,它似乎排除了结束值.
例如:
select * from person where dob between '2011-01-01' and '2011-01-31'
Run Code Online (Sandbox Code Playgroud)
这dob将从'2011-01-01'到'2011-01-30' 获得所有结果; 跳过记录在哪里dob'2011-01-31'.任何人都可以解释为什么这个查询的行为方式,以及我如何修改它以包含记录dob'2011-01-31'?(不添加1到结束日期,因为它已被用户选中.)
我想运行一个类似的查询
select ... as days where `date` is between '2010-01-20' and '2010-01-24'
Run Code Online (Sandbox Code Playgroud)
并返回如下数据:
days ---------- 2010-01-20 2010-01-21 2010-01-22 2010-01-23 2010-01-24
我正在尝试查询我的postgresql数据库以返回日期在某个月份和年份的结果.换句话说,我想要一个月的所有价值观.
到目前为止,我能够做到的唯一方法是这样的:
SELECT user_id
FROM user_logs
WHERE login_date BETWEEN '2014-02-01' AND '2014-02-28'
Run Code Online (Sandbox Code Playgroud)
问题是我必须在查询表之前计算第一个日期和最后日期.有更简单的方法吗?
谢谢
在SQL Server 2000和2005中:
WHERE条款有什么区别?查询1:
SELECT EventId, EventName
FROM EventMaster
WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009'
Run Code Online (Sandbox Code Playgroud)
查询2:
SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >='10/15/2009'
AND EventDate <='10/18/2009'
Run Code Online (Sandbox Code Playgroud)
(编辑:第二个Eventdate最初缺失,因此查询语法错误)
我会因为这个我没有得到解决的最小错误而疯狂.我想在两天之间选择条目,下面的例子说明了我所有的失败:
选择1.
$qb->where('e.fecha > ' . $monday->format('Y-m-d'));
$qb->andWhere('e.fecha < ' . $sunday->format('Y-m-d'));
Run Code Online (Sandbox Code Playgroud)
结果(0个条目):
SELECT r0_.id_reservacion AS id_reservacion0, r0_.fecha AS fecha1, r0_.cliente AS cliente2
FROM reservacion r0_
WHERE (r0_.fecha > 2012 - 07 - 16) AND (r0_.fecha < 2012 - 07 - 22)
Run Code Online (Sandbox Code Playgroud)
选择2
$qb->add('where', 'e.fecha between 2012-01-01 and 2012-10-10');
Run Code Online (Sandbox Code Playgroud)
结果(0个条目):
SELECT r0_.id_reservacion AS id_reservacion0, r0_.fecha AS fecha1, r0_.cliente AS cliente2
FROM reservacion r0_ WHERE r0_.fecha
BETWEEN 2012 - 01 - 01 AND 2012 - 10 - 10
Run Code Online (Sandbox Code Playgroud)
这是我当前条目的表格:
id fecha …Run Code Online (Sandbox Code Playgroud) 我有一个mysql表,数据连接到日期.每行都有数据和日期,如下所示:
2009-06-25 75
2009-07-01 100
2009-07-02 120
Run Code Online (Sandbox Code Playgroud)
我有一个mysql查询,选择两个日期之间的所有数据.这是查询:
SELECT data FROM tbl WHERE date BETWEEN date1 AND date2
我的问题是,即使一天没有数据,我也需要在date1和date2之间获取行.
所以我的查询会错过2009-06-25和2009-07-01之间的空白日期.
我可以用某种方式添加这些日期只有0作为数据吗?
在查询(特别是)以下的mysql时是否有更好的性能:
SELECT * FROM `table` WHERE `unix_date` BETWEEN 1291736700 AND 1291737300
Run Code Online (Sandbox Code Playgroud)
过度:
SELECT * FROM `table` WHERE `unix_date` >= 1291736700 AND `unix_date` <= 1291737300
Run Code Online (Sandbox Code Playgroud)
或BETWEEN语法只是用第二个sql代替?
有一个大表,我想添加一个列,每列都有一个随机选择的数字.1,2或3.
很难过.有任何想法吗?
我想1通过Oracle SQL 选择当前日期是否介于2个日期之间.
我在阅读完其他问题后写了一篇SQL.
但它只返回null.sysdate是以01/05/2014日期格式表示的当前日期DD/MM/YYYY.
我写的SQL是:
select 1 from dual
WHERE to_date(sysdate,'DD/MM/YYYY')
BETWEEN TO_DATE('28/02/2014', 'DD/MM/YYYY')
AND TO_DATE('20/06/2014', 'DD/MM/YYYY');
Run Code Online (Sandbox Code Playgroud)
和
select 1 from dual
WHERE to_date(sysdate,'DD/MM/YYYY') >= TO_DATE('28/02/2014', 'DD/MM/YYYY')
AND to_date(sysdate,'DD/MM/YYYY') < TO_DATE('20/06/2014', 'DD/MM/YYYY');
Run Code Online (Sandbox Code Playgroud) between ×10
sql ×6
mysql ×5
date ×4
sql-server ×2
datetime ×1
doctrine-orm ×1
numbers ×1
oracle ×1
php ×1
postgresql ×1
random ×1
sysdate ×1
t-sql ×1
where ×1