Nesta matéria começarei a abordar algumas das importantes características
deste Banco de Dados. É interessante ressaltar que cada Banco de Dados possui
suas características particulares, procurarei ser o mais claro e prático
possível dando destaque para as principais expressões no SQL Server.
Utilizando Campos
Calculados
Esta é uma característica muito utilizada, ou seja, um comando
SELECT poderá retornar nas colunas um valor calculado. Por exemplo, suponha que
exista uma tabela de produtos e que precisemos retornar seu valor + 25%,
ficaria fácil. Veja abaixo a instrução SQL:
SELECT PRODUTO, VALOR, (VALOR*1.25) AS VALORCALCULADO FROM
TBPRODUTOS
Poderia ser utilizada com as expressões de adição,
subtração, divisão e multiplicação. Veja logo abaixo um exemplo bem simples:
SELECT (VALOR * QUANTIDADE) AS VALORCALCULADO FROM
TBPRODUTOS
Multiplicamos o campo valor com o campo quantidade. Este
mesmo mecanismo serve para todos os operadores matemáticos.
Utilizando Funções
Estudaremos algumas das principais funções, tais como:
funções matemáticas, de caracteres e de Data/Hora.
Utilizaremos a Base de Dados chamada Northwind para eventuais testes. Este Banco de Dados já vem por
padrão com o SQL Server.
Funções Matemáticas
Abs
Esta função retorna o valor absoluto de um número.
Exemplo: SELECT
ABS(REPORTSTO) FROM EMPLOYEES
Power
Recebe dois parâmetros, o
primeiro seria o valor a ser elevado e o segundo a quantidade de vezes que iremos
multiplicar este valor. (Figura 01)
Exemplo: SELECT
POWER(REPORTSTO,2) FROM EMPLOYEES
Figura 01. Exemplo
de utilização da função Power.
Sqrt
Retorna a raiz quadrada de um determinado valor.
Exemplo: select SQRT(UNITSINSTOCK)
FROM PRODUCTS
PI
Retornar o valor do PI.
Exemplo: SELECT PI() FROM TABELA
Round
Função para arredondar valores, recebe dois parâmetros, o
valor a ser arredondado e a quantidade de casas decimais.
Exemplo: SELECT
ROUND(FREIGHT,1) AS VALOR FROM ORDERS
Funções de Caracteres
A concatenação de campos é uma tarefa muito utilizada e
simples de ser feita. Utiliza-se o sinal de + para fazer isto, veja abaixo um
exemplo:
Exemplo: SELECT (FIRSTNAME +
' ' + LASTNAME) AS "NOME COMPLETO" FROM EMPLOYEES
Teremos um resultado semelhante ao da Figura 02.
Figura 02. Concatenando
Campos.
Lower
Recebe como parâmetro uma string e a retorna com caracteres
minúsculos.
Exemplo: SELECT
LOWER(FIRSTNAME) AS "MINÚSCULAS" FROM EMPLOYEES
Obs: A função UPPER converte para maiúsculas.
Ltrim
Recebe como parâmetro uma
string. Esta função tem como objetivo remover os espaços em brancos à esquerda
de uma string.
Exemplo: SELECT LTRIM(' THECLUB') FROM TABELA
A Função RTRIM tem a mesma funcionalidade, o único
diferencial é que os espaços em brancos removidos são da direita.
Replicate
Recebe como parâmetro uma string e a quantidade de vezes a
ser repetida a mesma.
Exemplo: SELECT REPLICATE(FIRSTNAME,2)
FROM EMPLOYEES
Substring
Esta é uma função de grande
utilidade, retorna pedaços de uma string. Recebe três parâmetros, sendo: a string, a posição inicial
e a quantidade de caracteres a serem mostrados.
Exemplo: SELECT
SUBSTRING(FIRSTNAME,1,5) FROM EMPLOYEES
DataLength
Esta função tem como
parâmetro de entrada uma string e de retorno a quantidade de caracteres da mesma.
Exemplo: SELECT
DATALENGTH(FIRSTNAME) FROM EMPLOYEES
Funções de Data/Hora
Um detalhe importante é que as funções de data trabalham
referenciando unidades de data. As mais comuns são:
- year (ano)
- month (mês)
- Day (dia)
- month (mês)
- Day (dia)
Getdate
A função GETDATE retorna a data e a hora atuais do sistema. Podemos
digitar o seguinte comando para obter a data e hora atual:
Exemplo: SELECT GETDATE()
DateAdd
Esta função DATEADD adiciona dias, meses ou anos em uma
data. Recebe como primeiro parâmetro a unidade a ser adicionada, o segundo a
quantidade e o terceiro o campo do tipo Data. Veja Figura 03.
Exemplo: SELECT
DATEADD(YEAR,2, HIREDATE) “DATA” FROM EMPLOYEES
Figura 03. Função Dateadd.
Também poderia ser utilizada dateadd(month,2,
hiredate) para adicionar meses a uma data ou dateadd(day,2,hiredate) para
adicionar dias.
Datepart
A função DATEPART retorna a parte especificada de uma data
como um inteiro. Recebe como parâmetro a unidade e o campo do tipo data.
Exemplos:
SELECT DATEPART(YEAR,
HIREDATE) FROM EMPLOYEES
O resultado
será o ano do campo hiredate.
SELECT DATEPART(MONTH,
HIREDATE) FROM EMPLOYEES
O resultado
será o mês do campo hiredate.
SELECT DATEPART(DAY,
HIREDATE) FROM EMPLOYEES
O resultado
será o dia do campo hiredate.
Datediff
A função DATEDIFF calcula a diferença entre duas datas retornando
o resultado como um inteiro. Poderá retornar a diferença entre dias, meses ou
anos.
Exemplos:
SELECT
DATEDIFF(YEAR,BIRTHDATE,HIREDATE) FROM EMPLOYEES
O resultado
será a diferença em anos destas duas datas.
SELECT DATEDIFF(MONTH,BIRTHDATE,HIREDATE)
FROM EMPLOYEES
O resultado
será a diferença em meses destas duas datas.
SELECT DATEDIFF(DAY,BIRTHDATE,HIREDATE)
FROM EMPLOYEES
O resultado será a diferença em dias destas duas datas.
Convertendo dados
A função CONVERT permite converter um tipo de dado para
outro. Recebe como
primeiro parâmetro o tipo de dado e o segundo o campo a ser
convertido.
Exemplo:
SELECT
CONVERT(CHAR,EMPLOYEEID) FROM EMPLOYEES
Neste exemplo irá converter
campos do tipo numérico para char.
Conclusão
Procurei demonstrar nesta matéria um pouco das expressões
mais utilizadas no SQL Server. O Help do mesmo é muito rico e abrangente, uma
dica que deixo aqui seria a de procurar respostas no próprio Help, como
sintaxes de funções, exemplos de utilizações entre outras coisas.
Sucesso e até a próxima pessoal!
Nenhum comentário:
Postar um comentário