Формат представления данных типа «дата»

Назначение

Установка режима представления возвращаемых СУБД ЛИНТЕР данных типов «дата».

Синтаксические правила
LinPy.SetDateEmulation (< формат >)

< формат > ::= 0 | 1

Описание

Если значение < формата > равно 0, то значение типа «дата» возвращается в полном виде (datetime.datetime), возможно, с нулевыми значениями календарной даты или времени.

Если значение < формата > равно 1, то значение типа «дата» возвращается в виде:

  • datetime.date (если временная часть даты равна 0, т. е. есть только календарная дата);

  • datetime.time (если календарная часть даты равна 0, т. е. есть только время);

  • datetime.datetime (если дата содержит и календарную, и временную часть).

Значение по умолчанию 0.

Возвращаемое значение
  1. Установленное значение.

  2. None – в случае неуспешного завершения метода.

Пример
d = LinPy.Date(1980, 5, 27)
cur.execute("INSERT INTO Test(DATE_COL) VALUES(:D)", {"D":d})
t = LinPy.Time(12, 30, 11)
cur.execute("INSERT INTO Test(DATE_COL) VALUES(:D)", {"D":t})
ts = LinPy.Timestamp(2003, 4, 5, 6, 7, 8, 9)
cur.execute("INSERT INTO Test(DATE_COL) VALUES(:D)",  {"D":ts})
LinPy.SetDateEmulation(1)
cur.execute("select DATE_COL from  Test")
print(cur.fetchall())

[(datetime.date(1980, 5, 27),), (datetime.time(12, 30, 11),), (datetime.datetime(2003, 4, 5, 6, 7, 8, 900),)]