Я конвертирую некоторые функциональные возможности Access VBA в DB2 и обнаружил существенную разницу. VBA позволяет указать начальную точку в строке символов, над которой вы работаете. У DB2 нет такой опции. Он начинается с позиции 1 и заменяет все, что вы хотите заменить во всей строке. Как я могу заставить DB2 начать замену в указанном месте строки? Например, моя строка «Incongruent Plastics Incorporated», и я хочу заменить второй «Inc» в позиции 22 на «Inc». Я делаю это в цикле WHILE, проходя по длинным строкам, заменяя их части, пока они не станут меньше указанного максимума (15 или 30 в зависимости от поля).
Я посмотрел на функцию Locate, но я не уверен, что это правильно.
Replace(a.PAYEE_STD_NAME, B.FullWord, B.abbreviation, B.mLastWord)
Где a.PAYEE_STD_NAME
- строка, на которую я смотрю, B.FullWord
- это то, что я хочу заменить, B.abbreviation
- это то, чем я хочу ее заменить, а B.mLastWord
- это позиция, с которой я хочу начать. замена. Что-то вроде Replace («Incongruent Plastics Incorporated», «Incorporated», «Inc», 22)
Я ожидаю, что символы будут заменены, начиная с нужной позиции, ближе к задней части строки, а не в начале.
Спасибо!