getredash/redash · error · Exception

Unknown date/time format in results: '{}'

Error message

Unknown date/time format in results: '{}'

What it means

Google Search Console runner's get_formatted_value applies the same compact-datetime rule: only lengths 10 (YYYYMMDDHH) and 12 (YYYYMMDDHHMM) parse for TYPE_DATETIME; anything else raises 'Unknown date/time format in results'.

Source

Thrown at redash/query_runner/google_search_console.py:89

                value = get_formatted_value(column_type, value)
                d[column_name] = value
        rows.append(d)

    return {"columns": columns, "rows": rows}


def get_formatted_value(column_type, value):
    if column_type == "number":
        value = round(value, 2)
    elif column_type == TYPE_DATE:
        value = datetime.strptime(value, "%Y-%m-%d")
    elif column_type == TYPE_DATETIME:
        if len(value) == 10:
            value = datetime.strptime(value, "%Y%m%d%H")
        elif len(value) == 12:
            value = datetime.strptime(value, "%Y%m%d%H%M")
        else:
            raise Exception("Unknown date/time format in results: '{}'".format(value))
    return value


class GoogleSearchConsole(BaseSQLQueryRunner):
    should_annotate_query = False

    @classmethod
    def type(cls):
        return "google_search_console"

    @classmethod
    def name(cls):
        return "Google Search Console"

    @classmethod
    def enabled(cls):
        return enabled

View on GitHub (pinned to ca79fe988d)

Solutions

  1. Set the column type to date (TYPE_DATE) or string instead of datetime for the date dimension
  2. Use a dimension whose value length is 10 or 12 if you truly need datetime
  3. Upgrade Redash for improved format handling

Example fix

// before
{"columns": [{"name": "date", "type": "datetime"}]}
// after
{"columns": [{"name": "date", "type": "date"}]}
Defensive patterns

Strategy: validation

Validate before calling

import re

def gsc_datetime_ok(v) -> bool:
    return isinstance(v, str) and bool(re.fullmatch(r"\d{10}|\d{12}", v))

Try / catch

try:
    data = runner.run_query(q, user)
except Exception as e:
    if "Unknown date/time format" in str(e):
        set_date_column_type_to_date_and_rerun()

Prevention

When it happens

Trigger: A Search Console dimension inferred as datetime whose value length is not 10 or 12 — e.g. the 'date' dimension returns 'YYYYMMDD' (8 chars) but the column type was set to TYPE_DATETIME in query results column hints.

Common situations: Declaring the date column as datetime in the query's columns metadata while the API supplies 8-char dates; GSC API format changes.

Related errors


AI-assisted analysis of getredash/redash@ca79fe988d (2026-08-28). Data as JSON: /api/errors/ed850ac464923efa. Report an issue: GitHub.