<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sqla_datatype_for(datum):
 """ Given a scalar Python value, picks an appropriate SQLAlchemy data type. DECIMAL(precision=2, scale=1) <class 'sqlalchemy.sql.sqltypes.DATETIME'> Unicode(length=14) """

    try:
        if len(_complex_enough_to_be_date.findall(datum)) > 1:
            dateutil.parser.parse(datum)
            return sa.DATETIME
    except (TypeError, ValueError):
        pass
    try:
        (prec, scale) = precision_and_scale(datum)
        return sa.DECIMAL(prec, scale)
    except TypeError:
        return sa.Unicode(len(datum))