Преобразование внешнего представления MAC-адреса во внутреннее
Функция
Преобразование внешнего представления MAC-адреса во внутреннее.
Спецификация
::=
::=
Синтаксические правила
-
< Символьное выражение >
должно иметь тип CHAR или VARCHAR. -
< Формат >
задает формат представленного в< символьном выражении >
MAC-адреса. Количество символов MAC-адреса (без учета пробелов) и символов формата должно строго соответствовать друг другу. -
Формат имеет следующий шаблон:
[#][…]x[…]
где:
-
# – задает набор и представление символов-разделителей элементов MAC-адреса;
-
x (латинская кодировка) – задает количество шестнадцатеричных цифр, представляющих элемент MAC-адреса. Независимо от способа представления полного МАС-адреса шаблон формата должен содержать 12 знаков «х».
Если
< формат >
не задан, по умолчанию применяются следующие форматы MAC-адресов:-
xxxxxx;xxxxxx
-
xxxxxx-xxxxxx
-
xxxx.xxxx.xxxx
-
xx-xx-xx-xx-xx-xx
-
xx:xx:xx:xx:xx:xx
Примеры возможных форматов:
Внешнее представление MAC-адреса Формат 08002b/010203 xxxxxx/xxxxxx 008.00.02b/01:02:03 0xx.xx.0xx/xx:xx:xx #08-00-2b-01.02.03 #xx-xx-xx-xx.xx.xx < 08 >< 00 >< 2b >< 01 >< 02 >< 03 > < xx >< xx >< xx >< xx >< xx >< xx > 08 | 00 | 2b xx|xx|xx 08002b:010203 xxxxxx:xxxxxx -
Возвращаемое значение
-
Внутреннее представление MAC-адреса.
-
Код завершения 1036 («Неправильный аргумент»), если представление MAC-адреса и его формат не соответствуют друг другу.
-
Тип возвращаемого значения – BYTE (6).
Примеры
select mactoraw('08-00-2b-01-02-03'); |08002B010203|
select mactoraw('08/00/2b/01/02/03', 'XX/XX/XX/XX/XX/XX'); |08002B010203|
select mactoraw('008 | 000 |02b | 001 | 002 | 003', 'xxx|xxx|xxx|xxx|xxx|xxx'); |00800002B001|
select rawtomac(mactoraw('08-00-2b-01-02-03')); |08:00:2B:01:02:03|
create or replace table tab1 ("MAC-формат" varchar(20)); insert into tab1 values ('xx.xx.xx.xx.xx.xx'); select mactoraw('08.00.2b.01.02.03', "MAC-формат") from tab1; |08002B010203|