          elif lookup_type == 'minute':
              sql = "TRUNC(%s, 'MI')" % field_name
          else:
              sql = "CAST(%s AS DATE)" % field_name  # Cast to DATE removes sub-second precision.
          return sql, []
  
      def time_trunc_sql(self, lookup_type, field_name):
          # The implementation is similar to `datetime_trunc_sql` as both
          # `DateTimeField` and `TimeField` are stored as TIMESTAMP where
          # the date part of the later is ignored.
 
</s> remove         sql = 'TRUNC(%s)' % field_name
        return sql, []
 </s> add         return 'TRUNC(%s)' % field_name </s> remove         field_name = self._convert_field_to_tz(field_name, tzname)
        return field_name, []
 </s> add         return self._convert_field_to_tz(field_name, tzname) </s> remove         return sql, params
 </s> add         return sql </s> remove * ...
 </s> add * The ``DatabaseOperations.datetime_cast_date_sql()``,
  ``datetime_cast_time_sql()``, ``datetime_trunc_sql()``, and
  ``datetime_extract_sql()`` methods now return only the SQL to perform the
  operation instead of SQL and a list of parameters. </s> remove         field_name, params = self._convert_field_to_tz(field_name, tzname)
 </s> add         field_name = self._convert_field_to_tz(field_name, tzname)
        return sql
          elif lookup_type == 'minute':
              sql = "TRUNC(%s, 'MI')" % field_name
          else:
              sql = "CAST(%s AS DATE)" % field_name  # Cast to DATE removes sub-second precision.
        return sql
  
      def time_trunc_sql(self, lookup_type, field_name):
          # The implementation is similar to `datetime_trunc_sql` as both
          # `DateTimeField` and `TimeField` are stored as TIMESTAMP where
          # the date part of the later is ignored.
keep keep keep keep replace keep keep keep keep keep
 Fixed #27802 -- Unified return value of db backend datetime SQL methods. 
django/db/backends/oracle/operations.py