def datetime_trunc_sql( self, lookup_type, field_name, tzname ):
sql = "TIMESTAMP(SUBSTR(CHAR(%s), 1, %d) || '%s')"
if settings.USE_TZ:
hr, min = self._get_utcoffset(tzname)
if hr < 0:
field_name = "%s - %s HOURS - %s MINUTES" % (field_name, -hr, -min)
else:
field_name = "%s + %s HOURS + %s MINUTES" % (field_name, hr, min)
if lookup_type.upper() == 'SECOND':
sql = sql % ( field_name, 19, '.000000' )
if lookup_type.upper() == 'MINUTE':
sql = sql % ( field_name, 16, '.00.000000' )
elif lookup_type.upper() == 'HOUR':
sql = sql % ( field_name, 13, '.00.00.000000' )
elif lookup_type.upper() == 'DAY':
sql = sql % ( field_name, 10, '-00.00.00.000000' )
elif lookup_type.upper() == 'MONTH':
sql = sql % ( field_name, 7, '-01-00.00.00.000000' )
elif lookup_type.upper() == 'YEAR':
sql = sql % ( field_name, 4, '-01-01-00.00.00.000000' )
return sql, []
评论列表
文章目录