Меню сайта |
|
Форма входа |
|
Категории раздела |
|
Поиск |
|
Статистика |
Онлайн всего: 2 Гостей: 2 Пользователей: 0 |
|
Приветствую Вас, Гость · RSS |
30.01.2025, 18:04 |
|
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)
|
Просмотров: 643 | Комментарии: 1
| Рейтинг: 0.0/0 |
|
|