No SQL Server, uma função interna é uma peça de programação que recebe zero ou mais entradas e retorna um valor. Um exemplo de uma função interna é a função ABS(), que calcula o valor absoluto (não negativo) de um número.
Há muitas funções internas no SQL Server, e, os principais tipos são :
- Aggregate (SUM, AVG, MIN, MAX, etc.)
- System (CURRENT_USER, HOST_ID, ISNULL, NULLIF, etc.)
- System Statistical (@@CONNECTIONS, @@CPU_BUSY, etc.)
- Metadata (COL_NAME, DB_ID, DB_NAME, etc.)
- Configuration (@@DATEFIRST, @@LANGUAGE, etc.)
- Date (GETDATE, DATEADD, etc.)
Nota: Para um relato completo consulte a documentação a: Funções do SQL Server
Neste artigo vamos apresentar as funções de string, data e hora no SQL Server. Vamos começar com as funções String.
Obs: Os exemplos exibidos neste artigo foram obtidos usando o SQL Server Management Studio.
Funções String
1- ASCII()
ASCII (American Standard Code for Information Interchange) é um código que usa números para representar caracteres. Esta função retorna o valor ASCII para o caractere específico.
Para obter o código ASCII de um caractere, podemos chamar a função ASCII() que recebe um caractere como argumento e retorna o código ASCII do caractere. Por exemplo:
2-CHAR()
Esta função retorna o caractere baseado no código ASCII. Ele recebe um valor numérico como argumento e retorna o caractere. Por exemplo:
3- CHARINDEX
Esta função retorna a posição de uma substring em uma string. Esta função retorna 0(Zero) se a substring não for encontrada. São necessários três argumentos.
Sintaxe :
CHARINDEX (substring, string)
CHARINDEX (substring, string, start_position)
Onde:
- “substring” é a string a ser pesquisada.
- “string” é a string a ser pesquisada.
- “start_position” é a posição em que a pesquisa começará. Este é um parâmetro opcional. Se for zero ou valor negativo, a pesquisa começa no início da string.
No exemplo o caractere ‘n’ esta na décima primeira posição dentro de ‘Macoratti.net‘.
4 – SOUNDEX() & DIFFERENCE()
A função SOUNDEX retorna uma cadeia de caracteres contendo a representação fonética de char . Esta função permite comparar palavras com grafia diferente, mas com som semelhante em inglês.
A função DIFFERENCE() compara dois valores SOUNDEX e retorna um inteiro O valor inteiro indica a correspondência para os dois valores SOUNDEX de 0 a 4, onde :
- 0 indica semelhança fraca ou nenhuma;
- 4 indica semelhança forte;
No primeiro exemplo os valores de SOUNDEX são iguais e o valor retornado é igual a 4 indicando uma forte semelhança nos sons.
No segundo exemplo os valores são diferentes e o valor retornado é igual a 2 indicando uma diferença.
5- FORMAT
Usando esta função, podemos formatar um valor com um formato especificado. Essa função pode ser aplicada a vários tipos de valores, como inteiros, números de ponto flutuante, data ou hora. Leva três argumentos ou parâmetros.
Sintaxe: FORMAT(value, format, culture)
- value: é o tipo do valor a ser formatado. Pode ser um número , uma data ou hora;
- format : especifica o formato que você deseja aplicar ao primeiro argumento;
- culture : parâmetro opcional que especifica a cultura;
6- LEFT()
Esta função é usada para obter um número de caracteres de uma string começando da esquerda.
Ela recebe dois argumentos : O primeiro argumento especifica a string original e o segundo argumento especifica o número de caracteres mais à esquerda. Por exemplo:
7- LEN()
Esta função retorna o comprimento de uma string. Esta função recebe um argumento como a string a ser considerada. Por exemplo:
8- LOWER() e UPPER()
A função LOWER() converte uma string para minúscula e a função UPPER() converte uma string para maiúscula. Essas funções recebem um argumento como uma string.
9 – LTRIM() e RTRIM()
A função LTRIM remove todos os espaços iniciais de uma string começando da esquerda e a função RTRIM() remove todos os espaços iniciais de uma string da direita.
10 – PATINDEX()
A função PATINDEX() retorna a primeira ocorrência de um padrão em uma string. Retorna 0 se o padrão não for encontrado.
São necessários dois argumentos :
- O primeiro é o padrão a ser pesquisado e deve estar entre “%”. Aqui também podemos usar outros curingas como “%”, “_”, “[]”, “[^]”.
- O segundo é a string a ser pesquisada;
11- REPLACE()
Esta função substitui todas as ocorrências de uma substring dentro de uma string por uma nova substring.
Esta função recebe três argumentos:
- O primeiro é a string que será usada como referência.
- O segundo argumento é um caractere ou uma substring a ser procurada no primeiro argumento.
- O terceiro argumento é um caractere ou uma substring para substituir o segundo argumento.
Por exemplo: Se quisermos substituir “SQL Server” por “MS SQL Server” na string “’Funções do SQL Server’”.
12- REPLICATE()
Esta função repete uma string com um número especificado de vezes.
São necessários dois argumentos :
- O primeiro argumento é a string a ser repetida;
- O segundo argumento é a falta de tempo para repetir a string;
Temos até o momento 12 funções do SQL Server e na próxima parte do artigo vamos concluir.
13- STR()
Esta função converte um valor numérico em um valor de string. São necessários três argumentos :
- O primeiro é o número a ser convertido em string;
- O segundo é o comprimento da string de retorno e o valor padrão é 10;
- O terceiro é o número de decimais a serem exibidos na string de retorno e o valor padrão é 0;
14- STUFF()
Esta função remove uma parte de uma string e insere outra parte na string, em uma posição especificada. São necessários quatro argumentos :
- O primeiro é a string a ser processada ou modificada;
- O segundo é a posição na string para iniciar a exclusão e inserção de alguns caracteres;
- O terceiro é o número de caracteres a serem excluídos da string;
- O quarto é a nova substring a ser substituída pela string na posição inicial;
15- SUBSTRING()
Esta função extrai uma substring com um comprimento especificado a partir de uma posição em uma string. São necessários três argumentos:
- O primeiro é a string da qual extraímos um caractere ou substring;
- O segundo especifica a posição em que a substring retornada começa;
- O terceiro é o número de caracteres da substring a ser retornada e deve ser um número positivo;
Com isso concluímos a apresentação das principais funções SQL relacionadas ao tratamento de strings.
Na próxima parte do artigo veremos as funções para tratamento de data e hora.