Заменяет input на replace, который начинается с pos и имеет длину len.
Синтаксис
Копировать
overlay(input, replace, pos[, len])
Копировать
overlay(input PLACING replace FROM pos [FOR len])
Аргументы
input: выражение STRING или BINARY.
replace: выражение того же типа, что и input.
pos: выражение INTEGER.
len: необязательное выражение INTEGER.
Возвращаемое значение
Тип результата соответствует типу input.
Если pos имеет отрицательное значение, отсчет положения начинается с конца. len должно быть иметь значение не меньше 0. len задает длину фрагмента в input, который будет заменен. По умолчанию len имеет значение, совпадающее с длиной replace.
Примеры
SQL
> SELECT overlay('Spark SQL', 'ANSI ', 7, 0);
Spark ANSI SQL
> SELECT overlay('Spark SQL' PLACING '_' FROM 6);
Spark_SQL
> SELECT overlay('Spark SQL' PLACING 'CORE' FROM 7);
Spark CORE
> SELECT overlay('Spark SQL' PLACING 'ANSI ' FROM 7 FOR 0);
Spark ANSI SQL
> SELECT overlay('Spark SQL' PLACING 'tructured' FROM 2 FOR 4);
Structured SQL
> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('_', 'utf-8') FROM 6);
[53 70 61 72 6B 5F 53 51 4C]@sqlhub