Escapando] e ^ caracteres em uma classe de caractere de expressão "padrão" T-SQL
Estou tentando imitar o OracleRTRIM(expression, characters)
no MsSql Server 2008 R2 com a seguinte consulta:
REVERSE(
SUBSTRING(
REVERSE(field),
PATINDEX('%[^chars]%', REVERSE(field)),
LEN(field) - PATINDEX('%[^chars]%', REVERSE(field)) + 1
)
)
O problema é que eu quero ser capaz de aparar personagens como]
e^
que provavelmente precisa escapar.
Eu não sei como fazer isso. Coisas como\]
não funciona.
Estou ciente doESCAPE
cláusula, mas eu não entendo exatamente como funciona e, a propósito, SqlServer recusa-lo se colocar logo após a seqüência padrão.
Fato engraçado:
Se eu escrever%[^^]%
(desejando cortar^
) não funciona.
Se eu escrever%[^ ^]%
ele aparar^
, mas claramente também aparar espaços!