Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Проблема с to_char  [new]
Vladimirgs
Member

Откуда: Казань
Сообщений: 694
Наткунлся на трабл
есть запрос
select to_char(int2date(1,1,2008), 'D')
from dual;

при NLS_LANG в реестре AMERICAN_AMERICA.CL8MSWIN1251 возвращает "3" что правильно,
а при RUSSIAN_CIS.CL8MSWIN1251 - "2", что не верно

пробовал заруливать его через
select to_char(int2date(1,1,2008), 'D', 'nls_date_language = AMERICAN' )
from dual;

не канает :-(

Как быть?
28 янв 08, 14:52    [5211092]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
а что, int2date - енто стандартная функция?
28 янв 08, 14:54    [5211123]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
Vladimirgs
Member

Откуда: Казань
Сообщений: 694
не это моя... можно просто конкатенацией заменить типа так
select to_char( to_date( to_char(1||'.'||2008), 'mm.yyyy'), 'D', 'nls_date_language = AMERICAN' )
from dual;
28 янв 08, 15:09    [5211274]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Vladimirgs
не это моя... можно просто конкатенацией заменить типа так
select to_char( to_date( to_char(1||'.'||2008), 'mm.yyyy'), 'D', 'nls_date_language = AMERICAN' )
from dual;


т.е. выдача номера дня недели...
Тогда причем здесь nls_date_language?

The NLS_DATE_LANGUAGE parameter specifies the language for the day and month
names produced by the TO_CHAR and TO_DATE functions

За номер недели отвечает другой параметр - NLS_TERRITORY
ALTER SESSION SET NLS_TERRITORY = 'RUSSIA'

ALTER SESSION SET NLS_TERRITORY = 'AMERICA'
28 янв 08, 15:21    [5211374]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
Goldminer
Member

Откуда:
Сообщений: 553
Vladimirgs

Как быть?

Копать в сторону to_char(..., 'J')
28 янв 08, 15:22    [5211382]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
ГостЪ
Guest
STFF номер дня недели
28 янв 08, 15:29    [5211449]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
Vladimirgs
Member

Откуда: Казань
Сообщений: 694
помогло - но фитча однако
28 янв 08, 15:32    [5211476]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
Vladimirgs
Member

Откуда: Казань
Сообщений: 694
Хотя логично что у россияне неделю считают с понедельника, а американы с воскресенья, но почему сцуко оно от клиентских настроек зависит... надо чтобы от сервачных
28 янв 08, 15:43    [5211594]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
Elic
Member

Откуда:
Сообщений: 29990
Vladimirgs
но почему сцуко оно от клиентских настроек зависит... надо чтобы от сервачных
RTFM Methods of Setting NLS Parameters and Their Priorities
28 янв 08, 15:46    [5211622]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18388
Vladimirgs
но почему сцуко оно от клиентских настроек зависит... надо чтобы от сервачных

Представьте себе, что с одним сервером работают пользователи и из штатов, и из ивропы.
Может, понятнее станет...
28 янв 08, 16:22    [5211937]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
Vladimirgs
Member

Откуда: Казань
Сообщений: 694
andrey_anonymous
Vladimirgs
но почему сцуко оно от клиентских настроек зависит... надо чтобы от сервачных

Представьте себе, что с одним сервером работают пользователи и из штатов, и из ивропы.
Может, понятнее станет...


и что с того ? для хранимой процедуры определения дня недели наверно (1 января оно и в америке наверно таки вторник) не должно быть разницы, в моем случае то надо перед попределением алтернуть сессию.....
хотя почитав уже ссцылки, реализовал другой вариант определения.... Не буду разводить демагогию.

"Жираф большой - ему видней" (с) В. Высоцкий
28 янв 08, 16:57    [5212230]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с to_char  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18388
Vladimirgs
для хранимой процедуры определения дня недели

Дню недели соответствует маска 'DAY'. Порядковый же номер дня недели зависит от территории.
28 янв 08, 17:01    [5212265]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить