Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/42: Рейтинг темы: голосов - 42, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 27.03.2010
Сообщений: 8
1

Получение текущей даты

19.03.2013, 08:25. Показов 8085. Ответов 2
Метки нет (Все метки)

Всем добрый день!
На PL/SQL давно не программал, терь приходится.
Стоит задача
Получить дату ближайшей и следующей поставки
Формула такова
Дата ближ поставки = текущая дата +1
Дата след поставки = текущая дата + значение поля (smc.deliveryterm)

Вся хитрость в том что дата в явном виде не указана:
Указаны дни недели поставки в виде 1111100 - где 1 можно поставлять и 0 нельзя, каждая позиция день недели
Соответственно загвоздка в том, чтобы получить текущую дату из этих 0 и 1
Что я делаю:
Oracle 11 SQL
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
27
28
29
30
31
32
33
34
35
DECLARE
 
out_file  UTL_FILE.FILE_TYPE;
out_file_name  VARCHAR2(20) := 'articuls32.txt';
razd string(1):= CHR(59);
dd1 NUMBER(2) := 1+MOD(TO_NUMBER(TO_CHAR(SYSDATE,'J')),7); -- текущая дата в виде номера дня
dpost CHAR(7); -- переменная которая хранит дни поставки
dbpost NUMBER(5); -- переменная которая хранит частоту заказа в днях
data1 DATE; --дата ближ. поставки
data2 DATE; --дата след. поставки
posn NUMBER(8) := 1; --номер позиции
 
CURSOR deldays IS
SELECT smc.deliverydays,smc.deliveryterm FROM smcontracts smc;
 
out_file := UTL_FILE.fopen('SM_DATA',out_file_name,'w');
utl_file.putf(out_file,'Даты поставок'||'\n');
 
 OPEN deldays;
       LOOP
         FETCH deldays INTO dpost,dbpost;
         EXIT WHEN deldays%NOTFOUND;
         IF(dd1 = SUBSTR(dpost,posn))
         THEN
          data1 := TO_DATE(SYSDATE,'dd.mm.yyyy')+1;
          data2 := TO_DATE(SYSDATE,'dd.mm.yyyy')+TO_NUMBER(dbpost);
         ELSE 
           posn:= posn+1;
         END IF;
         UTL_FILE.PUTF(out_file,TO_CHAR(SYSDATE,'dd.mm.yyyy')||razd||TO_CHAR(SYSDATE,'HH24:MI:SS')||data1||razd||data2||'\n');
         UTL_FILE.FFLUSH(out_file);    
         END LOOP;
 UTL_FILE.FCLOSE(out_file);
               CLOSE deldays;
END;
Но чет нифига не работает. Подскажите в чем фигня?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2013, 08:25
Ответы с готовыми решениями:

Получение текущей даты?
Люди,Помогите! MSDN-a нет. Как получить текущее время в VC++?

Получение текущей даты
Создаю таблицу в PostgreSQL: CREATE TABLE CARS ( DRIVER_ID CHAR(3) PRIMARY KEY ...

Получение текущей даты
Всем доброго дня! Пишу ошибки в лог-файл... Сайт работает без проблем, но иногда (то ли что-то...

Получение текущей даты из интернета
Добрый день. Подскажите пожалуйста программный код получения текущей даты с интернет ресурса.

2
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
19.03.2013, 08:36 2
Падает с ошибкой или неправильно работает?
0
0 / 0 / 1
Регистрация: 27.03.2010
Сообщений: 8
19.03.2013, 08:39  [ТС] 3
Неправильно работает.
З.Ы я там BEGIN не написал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2013, 08:39

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Получение даты и времени в формате текущей локализации
SimpleDateFormat LocaleDateFormat = new SimpleDateFormat(); В этом случае с русской локалью дата...

Получение текущей даты из внешнего источника по сети Интернет
Уважаемые, каким простым кодом в среде Lazarus, можно получить из сети Интернет текущую дату дня и...

Выборка данных через сравнение даты в DataGridView и текущей даты
Ситуация такова: в датагриде есть столбец с определенной датой. Нужно сравнить все даты с этого...

Добавление текущей даты к имени файла при нестандартном формате вывода даты
Приветствую ! Давно и успешно используется код, который мне когда-то подсказали тут на форуме ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.