且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PostgreSQL和顺序数据

更新时间:2022-12-10 07:47:03

只需在plsql中或在将检查所有日期的客户端中创建一个函数。像这个伪代码:

Just create a function in plsql or in a client which will be checking all dates. Like this pseudocode:

date checked_date = 2000-01-01;
int unchecked_section = 0;
while ( checked_date <= today() ) {
  if (! sql(select itemName from Table where itemName=checked_date)) {
    unchecked_section++;
  } else {
    if ( unchecked_section>=n ) {
      print checked_date-unchecked_section, checked_date
    }
    unchecked_section = 0;
  }
  checked_date++;
}
if ( unchecked_section ) {
  print checked_date-unchecked_section, checked_date
}

它不必非常快,因为它只是维护。没有太多日期可以检查 - 每年只有365个。

It does not have to be very fast as it is maintenance only. There aren't many dates to check - only 365 a year.