powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Напишите скрипт на PL/SQL - високосный код.
5 сообщений из 30, страница 2 из 2
Напишите скрипт на PL/SQL - високосный код.
    #39427002
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понял, пойду подтягивать знания. Всем большое спасибо за участие.
:-)
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39427007
2  days IF's guide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew_812 Язык sql изучаю совсем недавно.руководство по if занимает полстраницы, меньше, чем читать, что тут думают о твоих способностях.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39427141
Desert_Nomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а если совсем лень думать, то загляни хоть к Бурлесону:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create or replace function IS_LEAP_YEAR (nYear in number) return boolean is
  V_REMAINDER1 NUMBER(5,2);
  V_REMAINDER2 NUMBER(5,2);
  V_REMAINDER3 NUMBER(5,2);
BEGIN
  V_REMAINDER1 := MOD(nYear,4);
  V_REMAINDER2 := MOD(nYear,100);
  V_REMAINDER3 := MOD(nYear,400);

  return ((V_REMAINDER1 = 0 AND V_REMAINDER2 <> 0 ) OR V_REMAINDER3 = 0);

END;
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39427208
А зачем ему 2 цифры после запятой в остатках ?
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39427567
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812,

Код: 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.
27.
28.
29.
30.
31.
32.
33.
set serveroutput on
set veri off
set feed off


accept y prompt 'Вкажiть рік > ' number defa 2017
declare
 d number :=&&y;
begin
 if d=0 or d not between -4713 and +9999 then
   dbms_output.put_line(d||' Помилка: рік в оракле з -4713 по +9999');
   return;
 end if;
 if to_char(last_day(to_date(to_char(d,'fm0000')||'0201','yyyymmdd')),'dd')='29' then
   dbms_output.put_line(d||' Високосний');
 else
   dbms_output.put_line(d||' Не високосний');
 end if;
end;
/
SQL> @D:\#\d.sql
Вкажiть рік >
2017 Не високосний
SQL> @D:\#\d.sql
Вкажiть рік > 2000
2000 Високосний
SQL> @D:\#\d.sql
Вкажiть рік > 2100
2100 Не високосний
SQL> @D:\#\d.sql
Вкажiть рік > 0
0 Помилка: рік в оракле з -4713 по +9999
SQL>



......
stax
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Напишите скрипт на PL/SQL - високосный код.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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