Можно ли заменить текст другим текстом в SqlBase?

Можно ли заменить текст в SqlBase? Я обнаружил, что есть функция @REPLACE, но я вижу, что она просто заменяет позиции в строке:

Следующее выражение возвращает значение "RALPH":

@REPLACE('RALF', 3, 1, 'PH')

Мне нужно заменить подстроку на другую. В Sql Server это выглядит так:

Это возвращает "ABA":

SELECT REPLACE('ABC', 'C', 'A')

Спасибо!


person JCIsola    schedule 07.01.2021    source источник


Ответы (1)


Использование литералов в вашем примере от «ABC» до «ABA»....

Select @REPLACE( 'ABC', @FIND( 'C', 'ABC', 0 ), @LENGTH('C'),  'A' )

Использование литералов в вашем примере от «RALF» до «RALPH»....

Select @REPLACE( 'RALF', @FIND( 'F', 'RALF', 0 ), @LENGTH('F'),  'PH' )
person Steve Leighton    schedule 08.01.2021
comment
Очевидно, вы можете заменить литералы именами столбцов - person Steve Leighton; 09.01.2021