Introdução às funções de cadeia de caracteres comuns do servidor SQL

as funções de cadeia de caracteres SQL incorporadas permitem-lhe encontrar e alterar valores de texto, como os tipos de dados VARCHAR e CHAR, no servidor SQL. Usando estas funções você pode alterar um valor de texto, como mudar “Smith, Joe “para” Joe Smith.”

Se você não está familiarizado com as funções SQL, então eu recomendaria olhar com a introdução para as funções incorporadas no servidor SQL.

para tirar o máximo partido disto e das nossas outras lições, não se esqueça de praticar usando os exemplos!,

Todos os exemplos para esta lição são baseados no Microsoft SQL Server Management Studio e na Base de dados AdventureWorks2012. Você pode começar a usar estas ferramentas gratuitas usando o meu guia começar a usar o servidor SQL.

Introdução às funções de String do servidor SQL

as funções de string t-SQL são usadas para manipular ou devolver informações sobre a expressão de texto, como os tipos de dados CHAR e VARCHAR.

Existem muitas funções de cadeia de caracteres dentro SQL à sua disposição., Eu geralmente categorizá-los como:

  • Posição
  • Transformação
  • Conjunto de Caracteres
  • ‘Soundex’

Todas as funções são listadas as Funções de Seqüência de caracteres (Transact-SQL) página. Eu recomendaria visitar essa página para aprender sobre cada função.

em vez de reiterar esse material, vamos focar nas funções que eu vi em comumente usado nos negócios.

nas tabelas a seguir eu categorizei as funções e as cores codificadas. O código de cor corresponde ao capô provável que você usaria essa função em particular em um ambiente de negócios., O verde é mais provável de ser usado, e o vermelho menos.

Esta não é uma escala estrita, e todas as funções têm um uso em algum caso de negócio, mas eu queria uma maneira de ajudá-lo a descer o campo para aqueles mais relevantes.

Aqui está a minha tentativa:

SQL Server String Funções – Funções Comumente Usadas em Verde

Funções usadas para encontrar a Posição

CHARINDEX

O CHARINDEX função é usada para localizar a posição de uma string dentro de outra., Isto pode ser útil quando você precisa quebrar os dados separados por rasgos ou vírgulas.

a forma geral para a função CHARINDEX é

CHARRINDEX(value to find, value to search)

onde o valor a encontrar é um ou mais caracteres que deseja encontrar no valor a procurar.

Se o valor for encontrado, então o positon inicial é devolvido. Se o valor não for encontrado, então 0 (zero) é devolvido.

Se o valor a encontrar, ou o valor a procurar são nulos, então NULL é retornado.

CHARINDEX em ação!,

LEN

a função LEN devolve o número de caracteres numa cadeia de caracteres.

no exemplo seguinte você pode ver que o comprimento de “SQL Server” é 10.

Exemplo de função LEN

Comprimento raramente é utilizado na sua própria. É usado principalmente em conjunto com outras funções, como esquerda e direita.,

funções usadas para transformar Strings

esquerda e direita

as funções esquerda e direita são usadas para retornar a parte inicial ou final de uma string.

a esquerda irá devolver os caracteres iniciais; enquanto que a direita é usada para devolver os caracteres finais.

a forma geral para a função esquerda é

LEFT(value, length)

onde o valor é a cadeia com a qual você está trabalhando, e o comprimento é o número de caracteres que você deseja retornar do início do valor.,

Exemplo de Função ESQUERDA

Se o comprimento for maior que o número de caracteres do valor e, em seguida, toda a cadeia é retornado.

Se o comprimento for negativo, é lançado um erro.

Se o comprimento ou o valor são nulos, então NULL é retornado.

a função string direita funciona muito como a esquerda, mas devolve os caracteres finais em oposição ao início.

SELECT RIGHT(‘SQL Rocks!’,6)

Devolve o valor ‘Rocks!,’

suponha que o Gerente de produção quer uma lista distinta de todos os prefixos de número de produto. Como pudeste devolver a lista?se olhar para a produção.Produto ProductNumber valor da coluna você vai notar que o prefixo é os dois primeiros caracteres. Então sabendo o que fazemos agora sobre a função esquerda, a solução é um snap!

Aqui está o que pode escrever:

SELECT DISTINCT LEFT(ProductNumber,2)FROM Production.Product

a função à esquerda devolve os dois primeiros caracteres. Como estamos a usar o operador DISTICT, os resultados duplicados são eliminados do resultado.OK então agora o gerente de produção está ficando louco!, A última personagem do prefixo ProcuctNumber significa muito para ela. Ela quer saber quais são esses valores distintos. O que podemos fazer para ajudar?

Podemos usar a esquerda e a direita em conjunto. Nós já sabemos como obter a maioria dos caracteres esquerda, agora tudo o que precisamos fazer é pegar o último personagem desse resultado e devolvê-lo como mostrado abaixo.

Niding Function to return characters.,

Aqui é a consulta que você pode usar:

SELECT DISTINCT RIGHT(LEFT(ProductNumber,2),1)FROM Production.Product

Como outras funções que você pode aninhar funções de seqüência de caracteres. Basta lembrar que os resultados de uma função podem ser usados em outra. Devias ler estas expressões do “de dentro para fora”.”

SUBSTRING

a função de SUBSTRING é usada para devolver caracteres de outra cadeia.,

a forma geral da função de sub-sequência é

SUBSTRING(value, position, length)

onde o valor é a cadeia com que está a trabalhar, a posição é o carácter para começar a devolver os caracteres, e o comprimento é o número de caracteres a devolver.

Se o comprimento for negativo, é devolvido um erro.

Se a posição ou o comprimento são nulos, então NULL é retornado.

SUBSTRING Exemplo

Por exemplo,

SUBSTRING(‘SQL Server’,5,3)

retorna ‘Ser’., It the sequence of three characters starting in the fifth position.

SUBSTRING é uma forma generalizada das funções esquerda e direita.

crédito Extra-mostra como a esquerda e a direita podem ser usadas em conjunto para simular SUBSTRING. Mostre a sua resposta nos comentários abaixo.

LEFT (‘SQL Server’, 4) e SUBSTRING(‘SQL Server’,1,4) ambos retornam os quatro caracteres iniciais.a direita é um pouco mais complicada!

direita (‘SQL Server’, 4) pode ser escrito como SUBSTRING(‘SQL Server’,7,4)

que diz para começar na 7ª posição e depois retornar os próximos quatro caracteres., A forma geral para isso, uma vez que você nem sempre saberá o comprimento do valor, é

SUBSTRING(‘SQL Server’, LEN(‘SQL Server’)-4, 4)

Aqui está um exemplo usando colunas SQL.

Cujos resultados são

Resultados mostrando SUBSTRING mesmo como para a ESQUERDA e para a DIREITA

SUPERIOR e INFERIOR

A parte SUPERIOR e INFERIOR funções de seqüência de caracteres são usados para retornar valores, cujos caracteres são, em todos os caso de superior ou inferior, respectivamente.,

A forma geral para a função superior é

UPPER(value)

onde o valor é a cadeia com a qual você está trabalhando.

Se o valor for nulo, então o valor nulo é devolvido.

a forma e comportamento para baixo é semelhante.

Aqui está um exemplo de consulta:

Que retorna

Exemplos usando SUPERIOR e INFERIOR

SUBSTITUIR

A função de SUBSTITUIR é bom quando você quer encontrar um ou mais caracteres em um aguilhão e substituí-los com outros personagens., Uma aplicação comum é substituir todos os traços ‘ – ‘ por espaços.

aqui está a forma geral da função de substituição

REPLACE (value, pattern, replacement)

onde o valor é a cadeia de caracteres a funcionar, o padrão é as porções da cadeia de caracteres que deseja encontrar e substituir, e a substituição é o valor para substituir o padrão.

Se algum dos parâmetros for nulo, então substitua os dados nulos.

Se o padrão não for encontrado, nada é substituído, e o valor é devolvido na sua forma original.,

no negócio você vai encontrar dados de dois sistemas separados, como seus sistemas e sistemas de um cliente ou fornecedor onde os dados são tratados de forma diferente. Isto pode causar problemas, especialmente quando se trata de combinar.

Uma vez que o problema comum que eu vi ocorre com números de peças. Considere Trabalhos De Aventura. Na empresa, os números de peças são formatados com traços, como “AR-5381”; no entanto, alguns fornecedores substituíram os traços por espaços como “AR 5381”.,

Antes de fazermos um dado em grande escala, a equipa de produção deseja fornecer aos fornecedores a nossa lista de peças com os traços substituídos por espaços.

Aqui é uma consulta de nós poderia executar para fazer isso:

SELECT Name, ProductNumber, REPLACE(ProductNumber,'-',' ') as SupplierProductNumberFROM Production.Product

E o resultado nós podemos fornecer para os fornecedores é:

Apesar de você não pode ter em branco padrão, e se você pensar sobre isso, que não iria’ faz muito sentido, você pode substituir um padrão com um valor em branco. Por quê? Uma boa razão é tirar personagens de uma corda.,

no exemplo do número de produtos, pode haver casos em que queremos usar o número do produto sem traços. This query could be used in that case:

SELECT Name, ProductNumber, REPLACE(ProductNumber,'-','') as SupplierProductNumberFROM Production.Product

Notice that two single quotes together as ” represents an empty string.

LTRIM e RTRIM

LTRIM e RTRIM são utilizados para remover os espaços iniciais e finais da cadeia.

LTRIM é usado para remover espaços do início da cadeia; enquanto RTRIM remove espaços do fim.

A forma geral para o LTRIM é

LTRIM(value)

onde o valor é a cadeia com a qual deseja trabalhar., Se o valor for nulo, então o valor nulo é devolvido.

por exemplo, considere

SELECT LTRIM(' Product Types')

que devolve ‘tipos de Produto’

Se quiser remover espaços tanto do início como do fim de uma cadeia de caracteres, poderá usar ambas as funções.

SELECT RTRIM(LTRIM(' Product Types '))

remove os espaços iniciais e finais.

Esta função vem a calhar ao importar dados de arquivos de texto, especialmente arquivos fixos formatados.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *