Oi Rafael,
Pelo que você descreveu, o erro provavelmente está ocorrendo porque a função FINDSTRING(ENDERECO, ",", 1) pode estar retornando 0 (zero) quando a vírgula não é encontrada na string. Isso faz com que o cálculo FINDSTRING(ENDERECO, ",", 1) - 1 resulte em um valor negativo, o que não é permitido na função SUBSTRING.
Já na sua outra expressão SUBSTRING(ENDERECO,FINDSTRING(ENDERECO,"-",1) + 2,50), como você está pegando a substring a partir de uma posição fixada depois do hífen, isso pode estar funcionando porque o hífen está sempre presente, e o comprimento de 50 garante que não ultrapasse o tamanho da string.
Para evitar o erro com a vírgula, você pode:
• Garantir que a vírgula exista antes de usar o SUBSTRING (exemplo: usar uma condição IF para verificar se FINDSTRING(ENDERECO, ",", 1) > 0).
• Ou tratar o caso em que a vírgula não é encontrada para usar outro critério ou simplesmente retornar a string inteira.