Partilhar via


DEFINIÇÃO DA PALAVRA (Transact-SQL)

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores Banco de Dados SQLdo Azure Azure SQL Managed Instance

Retorna a cadeia de caracteres fornecida como um primeiro argumento, depois que alguns caracteres especificados no segundo argumento são convertidos em um conjunto de caracteres de destino, especificado no terceiro argumento.

Sintaxe

TRANSLATE ( inputString, characters, translations )

Arguments

inputString

A expressão de cadeia de caracteres a ser pesquisada. inputString pode ser qualquer tipo de dados de caractere (nvarchar, varchar, nchar, char).

Personagens

Uma expressão de cadeia de caracteres que contém caracteres que devem ser substituídos. Os caracteres podem ser qualquer tipo de dados de caracteres.

traduções

Uma expressão de cadeia de caracteres que contém os caracteres de substituição. As traduções devem ter o mesmo tipo de dados e comprimento que os caracteres.

Tipos de devolução

Retorna uma expressão de caractere do mesmo tipo de dados que inputString onde os caracteres do segundo argumento são substituídos pelos caracteres correspondentes do terceiro argumento.

Observações

TRANSLATE retornará um erro se os caracteres e as expressões de tradução tiverem comprimentos diferentes. TRANSLATE retornará NULL se qualquer um dos argumentos for NULL.

O comportamento da TRANSLATE função é semelhante ao uso de várias funções REPLACE . TRANSLATE no entanto, não substitui nenhum personagem individual em inputString mais de uma vez. Um único valor no characters parâmetro pode substituir vários caracteres no inputString.

Isso é diferente do comportamento de várias REPLACE funções, pois cada chamada de função substituiria todos os caracteres relevantes, mesmo que eles tivessem sido substituídos por uma chamada de função aninhada REPLACE anterior.

TRANSLATE está sempre ciente do agrupamento SC. Para obter mais informações sobre agrupamentos suplementares, consulte Suporte a agrupamento e Unicode.

Examples

A. Substitua chaves quadradas e encaracoladas por chaves regulares

A consulta a seguir substitui chaves quadradas e curvas na cadeia de caracteres de entrada entre parênteses:

SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()');

Aqui está o conjunto de resultados.

2*(3+4)/(7-2)

Chamadas equivalentes para REPLACE

Na instrução SELECT a seguir, você verá um grupo de quatro chamadas aninhadas para a função REPLACE . Este grupo é equivalente à chamada feita para a função TRANSLATE no SELECT anterior:

SELECT
REPLACE
(
      REPLACE
      (
            REPLACE
            (
                  REPLACE
                  (
                        '2*[3+4]/{7-2}',
                        '[',
                        '('
                  ),
                  ']',
                  ')'
            ),
            '{',
            '('
      ),
      '}',
      ')'
);

B. Converter pontos GeoJSON em WKT

GeoJSON é um formato para codificar várias estruturas de dados geográficos. Com a função, os desenvolvedores podem facilmente converter pontos GeoJSON para o TRANSLATE formato WKT e vice-versa. A consulta a seguir substitui chaves quadradas e curvas na entrada por chaves regulares:

SELECT TRANSLATE('[137.4,72.3]' , '[,]', '( )') AS Point,
    TRANSLATE('(137.4 72.3)' , '( )', '[,]') AS Coordinates;

Aqui está o conjunto de resultados.

Point Coordenadas
(137.4 72.3) [137.4,72.3]

C. Use a função TRADUZIR

SELECT TRANSLATE('abcdef','abc','bcd') AS Translated,
       REPLACE(REPLACE(REPLACE('abcdef','a','b'),'b','c'),'c','d') AS Replaced;

Aqui está o conjunto de resultados.

Traduzido Replaced
BCDDEF DDDdef

Consulte também