powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Напишите скрипт на PL/SQL - високосный код.
25 сообщений из 30, страница 1 из 2
Напишите скрипт на PL/SQL - високосный код.
    #39426923
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напишите скрипт на PL/SQL, который бы выводил сообщение, является високосным год или нет. Год вводится с клавиатуры.

Прошу помочь в решении вопроса. На sql всё понятно, а вот с PL/SQL не получается. Код на sql в PL/SQL не работает.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426925
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Год должен делиться на 4, но не делиться на 100 или должен делиться на 400
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426934
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812 На sql всё понятно
Если все понятно, напишите ваш вариант.

Andrew_812 Код на sql в PL/SQL не работает.
И на это было бы интересно посмотреть.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426942
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,

DECLARE @d DATETIME;
SET @d=CURRENT_TIMESTAMP;

IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)
PRINT 'ВИСОКОСНЫЙ'
ELSE
PRINT 'НЕВИСОКОСНЫЙ';
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426944
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdmAndrew_812 На sql всё понятно
Если все понятно, напишите ваш вариант.

Andrew_812 Код на sql в PL/SQL не работает.
И на это было бы интересно посмотреть.

Имеется ввиду, что этот код на sql
IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)
PRINT 'ВИСОКОСНЫЙ'
ELSE
PRINT 'НЕВИСОКОСНЫЙ';

не работает в PL/SQL
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426946
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL/SQL .

Код: 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.
Connected to Oracle Database 11g Release 11.2.0.1.0 
Connected as big3@autotest

SQL> DECLARE @d DATETIME;
  2  
  2  SET @d=CURRENT_TIMESTAMP;
  3  
  4  IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)
  5  PRINT 'ВИСОКОСНЫЙ'
  6  ELSE
  7  PRINT 'НЕВИСОКОСНЫЙ';
  8  /

DECLARE @d DATETIME;
SET @d=CURRENT_TIMESTAMP;

IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)
PRINT 'ВИСОКОСНЫЙ'
ELSE
PRINT 'НЕВИСОКОСНЫЙ';

ORA-06550: Строка 1, столбец 9:
PLS-00103: Встретился символ "@" в то время как ожидалось одно из следующих:

   begin function pragma процедура subtype тип <идентификатор>
   <идентификатор с двойными кавычками-разделителями> current
   cursor удал. exists prior

SQL> 

...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426958
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На PL/SQL примерно так получается, но не работает

DECLARE
day1 NUMBER = 2017;
BEGIN
IF YEAR(day1)%4=0 AND (YEAR(day1)%100<>0 OR YEAR(day1)%400=0)
THEN DBMS_OUTPUT.PUT_LINE('ВИСОКОСНЫЙ');
ELSE DBMS_OUTPUT.PUT_LINE('НЕВИСОКОСНЫЙ')
END IF;
END;
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426959
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812На PL/SQL примерно так получается, но не работаетМетодом тыка язык не выучить.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426960
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicAndrew_812На PL/SQL примерно так получается, но не работаетМетодом тыка язык не выучить.

Ваша правда.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426967
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одно из условий, год должен делиться на 4, т.е. получается, как я понял, при делении должно быть целое число. Если ДА - проверка пройдена, если НЕТ - проверка не пройдена. Подскажите пожалуйста, как можно реализовать данную проверку условия.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426970
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812,

Код: plsql
1.
2.
3.
4.
5.
select case to_char(trunc(to_date('2017','yyyy'),'y')+30+29,'dd') 
         when '29' then 'leap year'
         else 'Not a leap year'
         end Year_Type
from dual



должно работать в обоих вариантах =) с небольшими переделками =)
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426971
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812Одно из условий, год должен делиться на 4, т.е. получается, как я понял, при делении должно быть целое число. Если ДА - проверка пройдена, если НЕТ - проверка не пройдена. Подскажите пожалуйста, как можно реализовать данную проверку условия.

хочешь через остаток

Код: plsql
1.
2.
select decode(mod(2017,4),0,'Leap year','Not a leap year') as Year_Type
from dual
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426972
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXL,

Вам же сказали, на Pl/Sql. На Sql ему все понятно.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426974
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaximaXXL,

Спасибо.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426975
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K790MaximaXXL,

Вам же сказали, на Pl/Sql. На Sql ему все понятно.

Тут я промашку дал =( надо было его вариант посмотреть =(
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426976
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790,

читайте всю переписку пожалуйста: есть рабочий скрипт на sql.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426978
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790MaximaXXL,

Вам же сказали, на Pl/Sql. На Sql ему все понятно.

IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)

Данное условие в PL/SQL не работает.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426979
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812K790MaximaXXL,

Вам же сказали, на Pl/Sql. На Sql ему все понятно.

IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)

Данное условие в PL/SQL не работает.

оно и в SQL -то не очень =)
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426981
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812есть рабочий скрипт на sql.Чудак, нам нет дела до того, что какие-то кракозябры на непонятном языке ты по глупости своей имеешь наглость считать SQL-ем.
RTFM SQL Language Reference
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426984
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так ведь работает:

DECLARE @d DATETIME;
SET @d=CURRENT_TIMESTAMP;

IF YEAR(@d)%4=0 AND (YEAR(@d)%100<>0 OR YEAR(@d)%400=0)
PRINT 'ВИСОКОСНЫЙ'
ELSE
PRINT 'НЕВИСОКОСНЫЙ';

Запускаю в Management Studio.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426985
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812,

молодой человек, поделитесь, откуда Вы черпаете информацию по разработке на поставленные Вам задачи?
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426987
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790Andrew_812,

молодой человек, поделитесь, откуда Вы черпаете информацию по разработке на поставленные Вам задачи?

Конечно поделюсь. Информацию черпаю из просторов интернета. Язык sql изучаю совсем недавно.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426988
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812Запускаю в Management Studio.Тупило, здесь Oracle, а не мелкомягкий.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426991
Andrew_812
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicAndrew_812Запускаю в Management Studio.Тупило, здесь Oracle, а не мелкомягкий.
Ну во первых не Тупило, а во вторых внимательней читайте, задача в том, чтобы данную задачу решить на Оракл.
...
Рейтинг: 0 / 0
Напишите скрипт на PL/SQL - високосный код.
    #39426995
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_812,

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


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