что делает эта функция - PullRequest
       1

что делает эта функция

0 голосов
/ 12 сентября 2018

Я новичок в функциях, и мне было интересно, если кто-то может сказать мне, что делает эта функция? Он преобразует 20.0818 в 0.

CREATE OR REPLACE FUNCTION ISDATE(v_date IN VARCHAR2) RETURN number IS
    v_date1 DATE;
BEGIN
    select to_date(v_date,'mm/dd/yyyy') into v_date1 from dual;
        RETURN 1;
    Exception WHEN Others THEN
        RETURN 0;
END;

Я не получаю эту часть.

ISDATE (v_date IN VARCHAR2) номер возврата IS v_date1 ДАТА

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018
CREATE OR REPLACE FUNCTION              -- You are creating or replacing a function in the
                                        -- database
ISDATE                                  -- The name of the function is "ISDATE"
(
  v_date IN VARCHAR2                    -- The function takes one argument called "v_date"
                                        -- which is an IN(put) parameter of the VARCHAR2
                                        -- (string) data type
)
RETURN number                           -- The function returns a number
IS
  v_date1 DATE;                         -- The function has one local variable "v_date1"
                                        -- which is of the DATE data type.
BEGIN                                   -- The start of the main body of the function
  select to_date(v_date,'mm/dd/yyyy')   -- Try to convert the v_date argument to a date
                                        -- using the mm/dd/yyyy format model
  into v_date1                          -- and put the result into the v_date1 variable
  from dual;                            -- Using the DUAL table supplied by Oracle.
  RETURN 1;                             -- If successful then return 1
Exception                               -- If there was an error then...
  WHEN Others THEN                      --   When the error was not matched by another rule
    RETURN 0;                           --     return 0
END;                                    -- End the function.
0 голосов
/ 12 сентября 2018

Как объяснено в документации :

  • ISDATE - это имя функции.

  • (v_date IN VARCHAR2)является объявлением параметра;в этом случае есть один входной аргумент (IN, указывающий, что он доступен только для чтения в функции), который ожидает строковое значение;этот параметр называется v_date, поэтому вы используете это имя для ссылки на переданное значение в теле функции.

  • RETURN number говорит, что функция возвращает значение, которое являетсяnumber

  • IS означает, что вы переместили завершение объявления параметра / возврата и переходите к необязательному объявлению локальной переменной и телу функции.

  • v_date1 DATE объявляет локальную переменную типа date, которая называется v_date1.

0 голосов
/ 12 сентября 2018

Он проверяет, можно ли преобразовать входную строку в дату, используя указанный формат, и возвращает 1 или нет, если может или не может, соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...