Меню сайта |
|
Форма входа |
|
Категории раздела |
|
Поиск |
|
Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
| Приветствую Вас, Гость · RSS |
23.12.2025, 15:15 |
|
Comparing SYSTIMESTAMP with datetime variables
SYSTIMESTAMP возвращает тип
данных TIMESTAMP WITH TIME ZONE.
При сравнении данных разных типов, если один из операндов
TIMESTAMP WITH TIME ZONE,
другой
операнд также неявно приводится к TIMESTAMP
WITH TIME ZONE. Когда
DATE или TIMESTAMP неявно
приводится к TIMESTAMP WITH
TIME ZONE, в качестве часовой зоны
используется сессионный параметр,
который в JOB'ах (DBMS_JOB) по умолчанию равен 0, а
для нормальных сессий определяется установками на клиенте.
You can set the default session time
zone with the ORA_SDTZ environment variable.
When users retrieve TIMESTAMP WITH LOCAL TIME ZONE
data, Oracle returns it in the users' session time zone. The
session time zone also takes effect when a TIMESTAMP
value is converted to the TIMESTAMP WITH TIME ZONE
or TIMESTAMP WITH LOCAL TIME ZONE datatype.
При этом для SYSDATE и SYSTIMESTAMP
всегда учитывается зона, установленная для БД на уровне
операционной системы,
не зависимо от значения сессионного параметра.
Так что когда в job'е, запущенном через DBMS_JOB, выполняется
сравнение
f1 <= systimestamp, и f1 имеет тип date или простой
timestamp, то это приводится к UTC как
f1 - 0 <= <текущее Московское время> - 4
Функция to_char принимает аргументы всех типов без неявного
преобразования, поэтому systimestamp в ней отображает
текущее время для временной зоны ОС сервера.
TO_CHAR (datetime) converts a datetime or
interval value of DATE, TIMESTAMP,
TIMESTAMP WITH TIME ZONE,
or TIMESTAMP WITH LOCAL
TIME ZONE datatype to a value of VARCHAR2
datatype
|
| Категория: Oracle DB administering | Добавил: basil (08.11.2013)
|
| Просмотров: 666 | Комментарии: 1
| Рейтинг: 0.0/0 |
|
|