| 136 | return sql, params |
| 137 | |
| 138 | def time_trunc_sql(self, lookup_type, sql, params, tzname=None): |
| 139 | sql, params = self._convert_sql_to_tz(sql, params, tzname) |
| 140 | fields = { |
| 141 | "hour": "%H:00:00", |
| 142 | "minute": "%H:%i:00", |
| 143 | "second": "%H:%i:%s", |
| 144 | } |
| 145 | if lookup_type in fields: |
| 146 | format_str = fields[lookup_type] |
| 147 | return f"CAST(DATE_FORMAT({sql}, %s) AS TIME)", (*params, format_str) |
| 148 | else: |
| 149 | return f"TIME({sql})", params |
| 150 | |
| 151 | def format_for_duration_arithmetic(self, sql): |
| 152 | return "INTERVAL %s MICROSECOND" % sql |