powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / вызов функции в select
10 сообщений из 10, страница 1 из 1
вызов функции в select
    #39819127
antonkashin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, подскажите как вызвать пользовательскую функцию в блоке select?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create or replace function busdays(st in date, en in date) RETURN number is
busdays NUMBER := 0;
stDate DATE;
enDate DATE;
begin
stDate := TRUNC(st);
enDate := TRUNC(en);

if enDate >= stDate
then
busdays := enDate - stDate;

END IF;

   RETURN(busdays);
END;

select to_date('25.01.2019 10:10:00', 'DD.MM.YYYY HH24:MI:SS') as st_dt,
to_date('30.01.2019 18:30:52', 'DD.MM.YYYY HH24:MI:SS') as end_dt, busdays(st_dt, end_dt) from dual;



такой код че то не работает
...
Рейтинг: 0 / 0
вызов функции в select
    #39819132
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
че то

Оракл так и говорит "че-то неверно у тебя" ?
...
Рейтинг: 0 / 0
вызов функции в select
    #39819137
Anatoly B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antonkashin,

Код: plsql
1.
2.
3.
4.
select busdays(st_dt, end_dt)
from (
select to_date('25.01.2019 10:10:00', 'DD.MM.YYYY HH24:MI:SS') as st_dt, 
       to_date('30.01.2019 18:30:52', 'DD.MM.YYYY HH24:MI:SS') as end_dt from dual);
...
Рейтинг: 0 / 0
вызов функции в select
    #39819141
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antonkashinкак вызвать пользовательскую функцию в блоке select?Сначала основы sql выучи, потом берись за функции.
...
Рейтинг: 0 / 0
вызов функции в select
    #39819157
antonkashin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly B, спасибо, но выдает ошибку
Error(20,1): PLS-00103: Встретился символ "SELECT"
...
Рейтинг: 0 / 0
вызов функции в select
    #39819163
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antonkashin,

нельзя просто так взять и заселектить в никуда дынные в PL/SQL блоке...
...
Рейтинг: 0 / 0
вызов функции в select
    #39819165
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antonkashin,

сначала создайте ф-цию

потом отдельно выполните селект

зы
если версия позволяет можно "протестировать" указав ф-цию в with

....
stax
...
Рейтинг: 0 / 0
вызов функции в select
    #39819169
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antonkashin, вот так надо задавать вопрос.

Код: 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.
Connected to Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 
Connected as big3@//СэрВер:11521/XE

SQL> 
SQL> select st_dt, end_dt
  2    from (select to_date('25.01.2019 10:10:00', 'DD.MM.YYYY HH24:MI:SS') as st_dt,
  3                 to_date('30.01.2019 18:30:52', 'DD.MM.YYYY HH24:MI:SS') as end_dt
  4            from dual);

ST_DT       END_DT
----------- -----------
25.01.2019  30.01.2019

SQL> 
SQL> select fu(st_dt, end_dt)
  2    from (select to_date('25.01.2019 10:10:00', 'DD.MM.YYYY HH24:MI:SS') as st_dt,
  3                 to_date('30.01.2019 18:30:52', 'DD.MM.YYYY HH24:MI:SS') as end_dt
  4            from dual);
select fu(st_dt, end_dt)
  from (select to_date('25.01.2019 10:10:00', 'DD.MM.YYYY HH24:MI:SS') as st_dt,
               to_date('30.01.2019 18:30:52', 'DD.MM.YYYY HH24:MI:SS') as end_dt
          from dual)

ORA-00904: "FU": недопустимый идентификатор

SQL> 

...
Рейтинг: 0 / 0
вызов функции в select
    #39819182
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Аннаantonkashin,

нельзя просто так взять и заселектить в никуда дынные в PL/SQL блоке...

у antonkashin не в блоке ("вызов функции в select ")

ps
в my_sql ,busdays(st_dt, end_dt) отработало бы

....
stax
...
Рейтинг: 0 / 0
вызов функции в select
    #39819302
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а нужна ли тут функция..
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / вызов функции в select
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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