Функция TO_DATE — преобразует строку в переменную времени DATE.
Синтаксис:
TO_DATE(исходная_строка, Формат, NLS_LANGUAGE);
--Последний параметр NLS_LANGUAGE (как я понимаю для задания кодировки) мне не разу не пригодился.
Функция TO_DATE — преобразует строку в переменную времени DATE.
Синтаксис:
TO_DATE(исходная_строка, Формат, NLS_LANGUAGE);
--Последний параметр NLS_LANGUAGE (как я понимаю для задания кодировки) мне не разу не пригодился.
Функция TO_NUMBER — преобразует строковое значение в числовое (NUMBER)
Синтаксис:
TO_NUMBER(исходная_строка, Формат, NLS_LANGUAGE);
--Последний параметр NLS_LANGUAGE (как я понимаю для задания кодировки) мне ни разу не пригодился.
Функция TO_CHAR — преобразует дату или число в строку.
Синтаксис:
TO_CHAR(исходное_значение, Формат, NLS_LANGUAGE);
--В качестве исходного значения может быть передана как дата DATE так и число NUMBER.
--Последний параметр NLS_LANGUAGE (как я понимаю для задания кодировки) мне не разу не пригодился.
Функция для вычисления контрольного разряда штрихкода EAN13 по первым двенадцати цифрам.
На входе подаем строку (12-значное число).
На выходе получаем цифру контрольного разряда.
function GetControlNumber(p_code varchar2) return number
is
v_chet number;
v_nechet number;
v_itog number;
v_res number;
begin
v_chet := to_number(substr(p_code,2,1))+to_number(substr(p_code,4,1))+to_number(substr(p_code,6,1))+to_number(substr(p_code,8,1))+to_number(substr(p_code,10,1))+to_number(substr(p_code,12,1));
v_nechet := to_number(substr(p_code,1,1))+to_number(substr(p_code,3,1))+to_number(substr(p_code,5,1))+to_number(substr(p_code,7,1))+to_number(substr(p_code,9,1))+to_number(substr(p_code,11,1));
v_itog := mod(((v_chet*3)+v_nechet),10);
if v_itog>0 then
v_itog := 10 -v_itog;
end if;
v_res:=v_itog;
return v_res;
end;