Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема изменения номер дня недели / 10 сообщений из 10, страница 1 из 1
03.11.2016, 16:15
    #39340957
_ricardo_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
Всем привет! Создаю в SQL Developere функцию, которая работает с датами. Мне нужно в это функции определить день недели (1-7). Как указать ораклу, чтобы вернул номер текущего дня недели по американскому календарю? Пишу так:
Код: plsql
1.
to_char(sysdate,'D','NLS_DATE_LANGUAGE=AMERICAN')

, но возвращает всё равно номер дня недели по нашему календарю. Как быть?
...
Рейтинг: 0 / 0
03.11.2016, 16:18
    #39340962
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
NLS_TERRITORY
...
Рейтинг: 0 / 0
03.11.2016, 16:31
    #39340976
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
_ricardo_Как быть?RTFM iw формат.
NLS_TERRITORYНеуправляемая NLS-зависимость.
...
Рейтинг: 0 / 0
03.11.2016, 17:13
    #39341029
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SQL> alter session set NLS_TERRITORY='AMERICA';

Session altered.

SQL> select 
 trunc(1+sysdate-trunc(sysdate,'IW')) as a
,to_number(to_char(sysdate, 'D')) as b 
from dual;

         A          B
---------- ----------
         4          5

SQL> alter session set NLS_TERRITORY='RUSSIA';


Session altered.

SQL> select 
 trunc(1+sysdate-trunc(sysdate,'IW')) as a
 ,to_number(to_char(sysdate, 'D')) as b 
from dual;

         A          B
---------- ----------
         4          4
...
Рейтинг: 0 / 0
03.11.2016, 17:26
    #39341042
_ricardo_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
Vadim Lejnin, То что вы написали понятно, только вот как выполнить
Код: plsql
1.
alter session set NLS_TERRITORY='AMERICA';


в PL\SQL коде?
...
Рейтинг: 0 / 0
03.11.2016, 17:32
    #39341048
j2k
j2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
_ricardo_То что вы написали понятно
_ricardo_только вот как выполнить
Судя по вопросу, все-таки не поняли...
Вам просто показали, что iw не зависит от nls
...
Рейтинг: 0 / 0
03.11.2016, 17:42
    #39341057
_ricardo_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
j2k,вот пишу:
Код: plsql
1.
2.
3.
4.
select 
       trunc(1+sysdate-trunc(sysdate,'IW')) as a
      ,to_number(to_char(sysdate, 'D')) as b 
from dual;

выдает, что A и B равны 4. Но ведь по американскому календарю сегодня 5 день недели (1 - воскресение, 2 понедельники т.д.).
...
Рейтинг: 0 / 0
03.11.2016, 17:51
    #39341066
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
_ricardo_Но ведьТы не владеешь математикой, чтобы сдвинуть точку отсчёта?
...
Рейтинг: 0 / 0
03.11.2016, 18:05
    #39341073
j2k
j2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
_ricardo_ Но ведь по американскому календарю сегодня 5 день недели (1 - воскресение, 2 понедельники т.д.).
хоть бы потыркались, посмотрели как работает то, что вам предложили
Код: plsql
1.
2.
3.
4.
5.
6.
with t as (select sysdate+level-1 dat from dual connect by level<=365)
select trunc(dat)
      ,trunc(1+dat-trunc(dat,'IW')) a
      ,to_number(to_char(dat, 'D')) as b 
      ,trunc(2+dat-trunc(dat+1,'IW')) as c
from t order by dat;
...
Рейтинг: 0 / 0
03.11.2016, 21:38
    #39341208
_ricardo_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема изменения номер дня недели
j2k, Вы гений сударь! Спасибо!
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема изменения номер дня недели / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]