  
  def _sqlite_timestamp_diff(lhs, rhs):
      left = backend_utils.typecast_timestamp(lhs)
      right = backend_utils.typecast_timestamp(rhs)
      return (left - right).total_seconds() * 1000000
  
  
  def _sqlite_regexp(re_pattern, re_string):
      return bool(re.search(re_pattern, str(re_string))) if re_string is not None else False
  
 
</s> remove         # Discard any fractional microseconds due to floating point arithmetic.
        return round(value.total_seconds() * 1000000)
 </s> add         return duration_microseconds(value) </s> remove         return "INTERVAL '%06f' SECOND_MICROSECOND" % timedelta.total_seconds()
 </s> add         return 'INTERVAL %s MICROSECOND' % duration_microseconds(timedelta) </s> remove         duration = datetime.timedelta(days=123, seconds=123, microseconds=123)
 </s> add         duration = datetime.timedelta(microseconds=8999999999999999)
    return duration_microseconds(left - right)
  
  def _sqlite_timestamp_diff(lhs, rhs):
      left = backend_utils.typecast_timestamp(lhs)
      right = backend_utils.typecast_timestamp(rhs)
    return duration_microseconds(left - right)
  
  
  def _sqlite_regexp(re_pattern, re_string):
      return bool(re.search(re_pattern, str(re_string))) if re_string is not None else False
  
keep keep keep keep replace keep keep keep keep keep
 Fixed #28926 -- Fixed loss of precision of big DurationField values on SQLite and MySQL. 
django/db/backends/sqlite3/base.py