class DateTime(_RenderISO8601NoT, HasExpressionLookup, TypeEngine[
Known subclasses: sqlalchemy.dialects.mssql.DATETIME2
, sqlalchemy.dialects.mssql.DATETIMEOFFSET
, sqlalchemy.dialects.mssql.SMALLDATETIME
, sqlalchemy.dialects.oracle.DATE
, sqlalchemy.dialects.postgresql.asyncpg.AsyncpgDateTime
, sqlalchemy.dialects.sqlite.DATETIME
, sqlalchemy.sql.sqltypes.DATETIME
, sqlalchemy.sql.sqltypes.TIMESTAMP
, sqlalchemy.dialects.mssql.base._MSDateTime
, sqlalchemy.dialects.postgresql.pg8000._PGTimeStamp
, sqlalchemy.dialects.postgresql.psycopg._PGTimeStamp
A type for ``datetime.datetime()`` objects. Date and time types return objects from the Python ``datetime`` module. Most DBAPIs have built in support for the datetime module, with the noted exception of SQLite. In the case of SQLite, date and time types are stored as strings which are then converted back to datetime objects when rows are returned. For the time representation within the datetime type, some backends include additional options, such as timezone support and fractional seconds support. For fractional seconds, use the dialect-specific datatype, such as :class:`.mysql.TIME`. For timezone support, use at least the :class:`_types.TIMESTAMP` datatype, if not the dialect-specific datatype object.
Method | __init__ |
Construct a new :class:`.DateTime`. |
Method | get |
Return the corresponding type object from the underlying DB-API, if any. |
Method | literal |
Return a conversion function for processing literal values that are to be rendered directly without using binds. |
Class Variable | __visit |
Undocumented |
Instance Variable | timezone |
Undocumented |
Property | python |
Return the Python type object expected to be returned by instances of this type, if known. |
Method | _resolve |
adjust this type given a literal Python value that will be stored in a bound parameter. |
Property | _expression |
Undocumented |
Inherited from _RenderISO8601NoT
:
Method | _literal |
Undocumented |
Method | _literal |
Undocumented |
Method | _literal |
Undocumented |
Method | _literal |
Undocumented |
Inherited from HasExpressionLookup
(via _RenderISO8601NoT
):
Class |
|
Undocumented |
Inherited from TypeEngineMixin
(via _RenderISO8601NoT
, HasExpressionLookup
):
Method | adapt |
Undocumented |
Method | dialect |
Undocumented |
Class Variable | __slots__ |
Undocumented |
Property | _static |
Undocumented |
Inherited from TypeEngine
(via _RenderISO8601NoT
, HasExpressionLookup
, TypeEngineMixin
):
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | as |
Return an instance of the generic type corresponding to this type using heuristic rule. The method may be overridden if this heuristic rule is not sufficient. |
Method | bind |
Given a bind value (i.e. a :class:`.BindParameter` instance), return a SQL expression in its place. |
Method | bind |
Return a conversion function for processing bind values. |
Method | coerce |
Suggest a type for a 'coerced' Python value in an expression. |
Method | column |
Given a SELECT column expression, return a wrapping SQL expression. |
Method | compare |
Compare this type against the given backend type. |
Method | compare |
Compare two values for equality. |
Method | compile |
Produce a string-compiled form of this :class:`.TypeEngine`. |
Method | copy |
Undocumented |
Method | copy |
Undocumented |
Method | evaluates |
Return a copy of this type which has the :attr:`.should_evaluate_none` flag set to True. |
Method | result |
Return a conversion function for processing result row values. |
Method | with |
Produce a copy of this type object that will utilize the given type when applied to the dialect of the given name. |
Class Variable | hashable |
Flag, if False, means values from this type aren't hashable. |
Class Variable | render |
Render bind casts for :attr:`.BindTyping.RENDER_CASTS` mode. |
Class Variable | render |
render casts when rendering a value as an inline literal, e.g. with :meth:`.TypeEngine.literal_processor`. |
Class Variable | should |
If True, the Python constant ``None`` is considered to be handled explicitly by this type. |
Class Variable | sort |
A sorting function that can be passed as the key to sorted. |
Static Method | _to |
Undocumented |
Method | _cached |
Return a dialect-specific bind processor for this type. |
Method | _cached |
return a dialect-specific processing object for custom purposes. |
Method | _cached |
Return a dialect-specific literal processor for this type. |
Method | _cached |
Return a dialect-specific result processor for this type. |
Method | _compare |
Undocumented |
Method | _default |
Undocumented |
Method | _dialect |
Return a dialect-specific registry which caches a dialect-specific implementation, bind processing function, and one or more result processing functions. |
Method | _gen |
Undocumented |
Method | _resolve |
given a Python type (e.g. ``int``, ``str``, etc. ) return an instance of this :class:`.TypeEngine` that's appropriate for this type. |
Method | _unwrapped |
Return the 'unwrapped' dialect impl for this type. |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _isnull |
Undocumented |
Class Variable | _sqla |
Undocumented |
Property | _generic |
Undocumented |
Property | _has |
memoized boolean, check if bind_expression is implemented. |
Property | _has |
memoized boolean, check if column_expression is implemented. |
Property | _type |
Return a rudimental 'affinity' value expressing the general class of type. |
Inherited from Visitable
(via _RenderISO8601NoT
, HasExpressionLookup
, TypeEngineMixin
, TypeEngine
):
Method | __class |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
sqlalchemy.dialects.mssql.DATETIME2
, sqlalchemy.dialects.mssql.DATETIMEOFFSET
, sqlalchemy.dialects.mysql.DATETIME
, sqlalchemy.dialects.sqlite.DATETIME
, sqlalchemy.sql.sqltypes.TIMESTAMP
Construct a new :class:`.DateTime`. :param timezone: boolean. Indicates that the datetime type should enable timezone support, if available on the **base date/time-holding type only**. It is recommended to make use of the :class:`_types.TIMESTAMP` datatype directly when using this flag, as some databases include separate generic date/time-holding types distinct from the timezone-capable TIMESTAMP datatype, such as Oracle.
sqlalchemy.sql.sqltypes.TIMESTAMP
Return the corresponding type object from the underlying DB-API, if any. This can be useful for calling ``setinputsizes()``, for example.
sqlalchemy.dialects.oracle.DATE
, sqlalchemy.dialects.oracle.cx_oracle._CXOracleTIMESTAMP
Return a conversion function for processing literal values that are to be rendered directly without using binds. This function is used when the compiler makes use of the "literal_binds" flag, typically used in DDL generation as well as in certain scenarios where backends don't accept bound parameters. Returns a callable which will receive a literal Python value as the sole positional argument and will return a string representation to be rendered in a SQL statement. .. note:: This method is only called relative to a **dialect specific type object**, which is often **private to a dialect in use** and is not the same type object as the public facing one, which means it's not feasible to subclass a :class:`.types.TypeEngine` class in order to provide an alternate :meth:`_types.TypeEngine.literal_processor` method, unless subclassing the :class:`_types.UserDefinedType` class explicitly. To provide alternate behavior for :meth:`_types.TypeEngine.literal_processor`, implement a :class:`_types.TypeDecorator` class and provide an implementation of :meth:`_types.TypeDecorator.process_literal_param`. .. seealso:: :ref:`types_typedecorator`
Return the Python type object expected to be returned by instances of this type, if known. Basically, for those types which enforce a return type, or are known across the board to do such for all common DBAPIs (like ``int`` for example), will return that type. If a return type is not defined, raises ``NotImplementedError``. Note that any type also accommodates NULL in SQL which means you can also get back ``None`` from any type in practice.
adjust this type given a literal Python value that will be stored in a bound parameter. Used exclusively by _resolve_value_to_type(). .. versionadded:: 1.4.30 or 2.0 TODO: this should be part of public API .. seealso:: :meth:`.TypeEngine._resolve_for_python_type`