Visual foxpro 选择查询查看FoxPro数据库中特定数据范围内的数据

Visual foxpro 选择查询查看FoxPro数据库中特定数据范围内的数据,visual-foxpro,foxpro,Visual Foxpro,Foxpro,在foxpro数据库中,如何编写select查询来查看特定时间范围内的数据。任何人都可以展示一个例子。您只需像编写任何SQL数据库一样编写它。唯一不同的是参数的语法。例如,下面的查询检索在2020年7月进行的所有交易: local ltFrom, ltUpTo ltFrom = DateTime(2020,7,1) ltUpTo = DateTime(2020,8,1) && Midnight select * from myTable ; where transacti

在foxpro数据库中,如何编写select查询来查看特定时间范围内的数据。任何人都可以展示一个例子。

您只需像编写任何SQL数据库一样编写它。唯一不同的是参数的语法。例如,下面的查询检索在2020年7月进行的所有交易:

local ltFrom, ltUpTo
ltFrom = DateTime(2020,7,1)
ltUpTo = DateTime(2020,8,1) && Midnight

select * from myTable ;
   where transactionDatetime >= ?m.ltFrom and  ;
         transactionDatetime < ?m.ltUpTo ;
   into cursor crsResult ;
   nofilter
browse
local ltFrom,ltUpTo
ltFrom=日期时间(2020,7,1)
ltUpTo=日期时间(2020年8月1日)和午夜
从myTable中选择*;
其中transactionDatetime>=?m.ltFrom和;
transactionDatetime<?m.ltUpTo;
进入结果分析;
无过滤器
浏览

您只需编写它,就像编写任何SQL数据库一样。唯一不同的是参数的语法。例如,下面的查询检索在2020年7月进行的所有交易:

local ltFrom, ltUpTo
ltFrom = DateTime(2020,7,1)
ltUpTo = DateTime(2020,8,1) && Midnight

select * from myTable ;
   where transactionDatetime >= ?m.ltFrom and  ;
         transactionDatetime < ?m.ltUpTo ;
   into cursor crsResult ;
   nofilter
browse
local ltFrom,ltUpTo
ltFrom=日期时间(2020,7,1)
ltUpTo=日期时间(2020年8月1日)和午夜
从myTable中选择*;
其中transactionDatetime>=?m.ltFrom和;
transactionDatetime<?m.ltUpTo;
进入结果分析;
无过滤器
浏览

要展开Cetin的日期范围查询,您还可以查询包括时间组件在内的范围:

ltFrom = DateTime(2020,8,1,0,0,0)   && midnight
ltUpTo = DateTime(2020,8,1,14,03,51) && 2:03:51 pm
*ltFrom = DateTime(2020,8,1,0,0,0)  && midnight
*ltUpTo = DateTime(2020,8,3,11,59,59) && 1 second before noon 2 days later
SELECT hostname,timestamp FROM gsm WHERE timestamp BETWEEN ?ltfrom AND ?ltupto INTO CURSOR crsResult NOFILTER ORDER BY timestamp
select * from myTable ;
   where transactionDatetime between ?m.ltFrom and ?m.ltUpTo ;
   into cursor crsResult ;
   nofilter
browse   
上面有两个时间范围:

  • 2020年8月1日午夜至下午2:03:51
  • 2020年8月1日午夜至2020年8月3日上午11:59:59(已注释)

  • 要展开Cetin的日期范围查询,还可以查询包括时间组件在内的范围:

    ltFrom = DateTime(2020,8,1,0,0,0)   && midnight
    ltUpTo = DateTime(2020,8,1,14,03,51) && 2:03:51 pm
    *ltFrom = DateTime(2020,8,1,0,0,0)  && midnight
    *ltUpTo = DateTime(2020,8,3,11,59,59) && 1 second before noon 2 days later
    SELECT hostname,timestamp FROM gsm WHERE timestamp BETWEEN ?ltfrom AND ?ltupto INTO CURSOR crsResult NOFILTER ORDER BY timestamp
    select * from myTable ;
       where transactionDatetime between ?m.ltFrom and ?m.ltUpTo ;
       into cursor crsResult ;
       nofilter
    browse   
    
    上面有两个时间范围:

  • 2020年8月1日午夜至下午2:03:51
  • 2020年8月1日午夜至2020年8月3日上午11:59:59(已注释)

  • 提到选择查询工作。感谢您的及时支持。请提及选择查询工作。谢谢你的及时支持,这是不对的。我已经编写了日期时间范围查询,包括上面的时间。对于datetime范围查询,您不希望使用BETWEEN。BETWEEN的行为为>=和=和<(请参阅我回复中的查询)。m、 ltUpTo是要“排除”而不是“包括”的最小日期时间值。这短短的1秒有时意义重大(虽然你看不出来,datetime值存储为8字节的数值,包含毫秒)。谢谢你的澄清。你完全正确:我没有想到那“一秒钟”。我只是想强调一下,你也可以使用时间部分(不仅仅是整天)。我总是从你的回答中获得洞察力!对不起,我不是想挑三拣四。许多年前,我通过艰苦的方式了解到毫秒的事情,花了数小时在上面进行调试:)在调试上,所有的值似乎都是正确的(显示不显示那些毫秒)。我想我可以写几页关于它的文章:)它在各种产品(例如:VFP、Windows OS文件和系统时间、MS SQL server…)中都是8字节值。有趣的是,在所有这些MS产品之间,8字节的使用方式甚至不一致。谢谢你的夸奖,一点也不挑剔!尤其是接近午夜时,哈哈!:)我已经被SQL方面类似的东西咬过了。。。如果我没记错的话,数据被存储为datetime,报告是使用date或类似的东西完成的。当我们的报告查找x=date时,它没有考虑时间成分,并且在午夜之后遗漏了所有内容。这确实是不正确的。我已经编写了日期时间范围查询,包括上面的时间。对于datetime范围查询,您不希望使用BETWEEN。BETWEEN的行为为>=和=和<(请参阅我回复中的查询)。m、 ltUpTo是要“排除”而不是“包括”的最小日期时间值。这短短的1秒有时意义重大(虽然你看不出来,datetime值存储为8字节的数值,包含毫秒)。谢谢你的澄清。你完全正确:我没有想到那“一秒钟”。我只是想强调一下,你也可以使用时间部分(不仅仅是整天)。我总是从你的回答中获得洞察力!对不起,我不是想挑三拣四。许多年前,我通过艰苦的方式了解到毫秒的事情,花了数小时在上面进行调试:)在调试上,所有的值似乎都是正确的(显示不显示那些毫秒)。我想我可以写几页关于它的文章:)它在各种产品(例如:VFP、Windows OS文件和系统时间、MS SQL server…)中都是8字节值。有趣的是,在所有这些MS产品之间,8字节的使用方式甚至不一致。谢谢你的夸奖,一点也不挑剔!尤其是接近午夜时,哈哈!:)我已经被SQL方面类似的东西咬过了。。。如果我没记错的话,数据被存储为datetime,报告是使用date或类似的东西完成的。当我们的报告查找x=date时,它没有考虑时间成分,并且在午夜之后遗漏了所有内容。