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

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

Andrew_812 Код на sql в PL/SQL не работает.
И на это было бы интересно посмотреть.
...
Рейтинг: 0 / 0
25.03.2017, 11:03
    #39426942
Andrew_812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
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
25.03.2017, 11:06
    #39426944
Andrew_812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
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
25.03.2017, 11:10
    #39426946
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
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
25.03.2017, 11:26
    #39426958
Andrew_812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
На 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
25.03.2017, 11:32
    #39426959
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
Andrew_812На PL/SQL примерно так получается, но не работаетМетодом тыка язык не выучить.
...
Рейтинг: 0 / 0
25.03.2017, 11:32
    #39426960
Andrew_812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
ElicAndrew_812На PL/SQL примерно так получается, но не работаетМетодом тыка язык не выучить.

Ваша правда.
...
Рейтинг: 0 / 0
25.03.2017, 12:06
    #39426967
Andrew_812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
Одно из условий, год должен делиться на 4, т.е. получается, как я понял, при делении должно быть целое число. Если ДА - проверка пройдена, если НЕТ - проверка не пройдена. Подскажите пожалуйста, как можно реализовать данную проверку условия.
...
Рейтинг: 0 / 0
25.03.2017, 12:10
    #39426970
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
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
25.03.2017, 12:14
    #39426971
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
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
25.03.2017, 12:15
    #39426972
K790
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
MaximaXXL,

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

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

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

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

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

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

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

Данное условие в PL/SQL не работает.
...
Рейтинг: 0 / 0
25.03.2017, 12:25
    #39426979
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
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
25.03.2017, 12:27
    #39426981
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
Andrew_812есть рабочий скрипт на sql.Чудак, нам нет дела до того, что какие-то кракозябры на непонятном языке ты по глупости своей имеешь наглость считать SQL-ем.
RTFM SQL Language Reference
...
Рейтинг: 0 / 0
25.03.2017, 12:32
    #39426984
Andrew_812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
Так ведь работает:

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
25.03.2017, 12:32
    #39426985
K790
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Напишите скрипт на PL/SQL - високосный код.
Andrew_812,

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

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

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

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


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