Android 如何剥离SQLite查询中的特定案例

Android 如何剥离SQLite查询中的特定案例,android,sqlite,Android,Sqlite,我很难弄明白这一点。这是我的疑问: SELECT * FROM events WHERE date('2012-9-4') >= start_date AND date('2012-9-4') <= end_date 从日期('2012-9-4')>=开始日期和 日期('2012-9-4')开始日期,结束日期==当天,以及结束时间==00:00。任何建议都将不胜感激 你不需要把where子句的第一部分翻过来吗 Where start_date >= date ('2012-

我很难弄明白这一点。这是我的疑问:

SELECT * FROM events WHERE date('2012-9-4') >= start_date AND 
date('2012-9-4') <= end_date
从日期('2012-9-4')>=开始日期和

日期('2012-9-4')开始日期
结束日期==当天
,以及
结束时间==00:00
。任何建议都将不胜感激

你不需要把where子句的第一部分翻过来吗

Where start_date >= date ('2012-9-4') and end_date <= date('2012-9-4')
其中开始日期>=日期('2012-9-4')和结束日期=日期('2012-09-03 00:00:00')和开始日期<日期('2012-09-04 00:00:00'))或(结束日期>=日期('2012-09-03 00:00:00')和结束日期<日期('2012-09-04 00:00:00'))

你不需要把where子句的第一部分翻过来吗

Where start_date >= date ('2012-9-4') and end_date <= date('2012-9-4')
其中开始日期>=日期('2012-9-4')和结束日期=日期('2012-09-03 00:00:00')和开始日期<日期('2012-09-04 00:00:00'))或(结束日期>=日期('2012-09-03 00:00:00')和结束日期<日期('2012-09-04 00:00:00'))
我终于明白了(非常确定)

从日期('2012-9-4')>=开始日期和
日期('2012-9-5')我终于明白了(非常确定)

从日期('2012-9-4')>=开始日期和

日期('2012-9-5')不。事实上,这让情况变得更糟。什么也没出现。但即使您是对的,它也不会排除我试图从返回的行中删除的案例。不过还是不错的尝试。感谢时间:)你的方式为什么不起作用(尽管它没有解决我的问题),这让我很困扰,我才意识到原因。我必须以某种方式包括日期范围内的日期。这意味着,日期在开始日期之前或等于开始日期,但在结束日期之前或结束日期。我认为你的问题需要更清楚-我看不出我的答案如何不能回答你的问题-因此我一定没有正确理解你的问题。您希望日期与开始/结束日期相交还是完全在开始/结束日期内?我认为(从你的q)是后者,但也许你想要前者???它就像一个日历。因此,即使事件在当天之前开始,如果事件需要它,它仍然会在当天出现。这就是我为什么要这样做的原因。但这也是我的问题所在,因为从技术上讲,午夜是第二天,我需要它不出现在所有。但在我当前的查询中,由于我的需要,它必须出现。我只是不需要它在那种情况下发生,当结束时间是午夜。你想加上时间,使用少于当天午夜的时间,大于等于前一天午夜加上的时间(作为开始)。我提供了我的答案,但这是使用您的一天案例,如果需要的话,需要提供一天之间的日期范围捕获(长度超过一天的事件)。不。事实上,这让情况变得更糟。什么也没出现。但即使您是对的,它也不会排除我试图从返回的行中删除的案例。不过还是不错的尝试。感谢时间:)你的方式为什么不起作用(尽管它没有解决我的问题),这让我很困扰,我才意识到原因。我必须以某种方式包括日期范围内的日期。这意味着,日期在开始日期之前或等于开始日期,但在结束日期之前或结束日期。我认为你的问题需要更清楚-我看不出我的答案如何不能回答你的问题-因此我一定没有正确理解你的问题。您希望日期与开始/结束日期相交还是完全在开始/结束日期内?我认为(从你的q)是后者,但也许你想要前者???它就像一个日历。因此,即使事件在当天之前开始,如果事件需要它,它仍然会在当天出现。这就是我为什么要这样做的原因。但这也是我的问题所在,因为从技术上讲,午夜是第二天,我需要它不出现在所有。但在我当前的查询中,由于我的需要,它必须出现。我只是不需要它在那种情况下发生,当结束时间是午夜。你想加上时间,使用少于当天午夜的时间,大于等于前一天午夜加上的时间(作为开始)。我提供了我的答案,但这是使用您的一天案例,如果需要的话,需要提供一天时间范围内的日间捕获(一天时间内的事件)。
SELECT * FROM events WHERE date('2012-9-4') >= start_date AND 
date('2012-9-5') <= end_date AND datetime(end_date,end_time) != datetime(2012-9-5,'00:00')