Artigo SQL Magazine 49 - Estudando funções T-SQL no SQL SERVER 2005
Artigo da revista SQL Magazine edição 49.
Clique aqui para ler esse artigo em PDF.
SQL Server
Estudando funções T-SQL no SQL SERVER 2005
É engenheiro formado pela UNICAMP, consultor em TI com 15 anos de experiência, particularmente em projetos de Business Intelligence. Atualmente trabalha na IBM, onde atua como Líder de Time .NET em projeto internacional. Dedico à memória de Danielle, mãe dos meus filhos e que será sempre lembrada com muito carinho e saudade.
Quando a gente começa a trabalhar com bancos de dados, a idéia inicial é que vamos trabalhar com dados na forma bruta como eles são (ou serão) armazenados. Para nossa sorte, a SQL oferece inúmeros recursos para transformação dos dados.
No caso do Microsoft SQL SERVER, a linguagem usada é chamada Transact-SQL, ou apenas T-SQL.
O T-SQL inclui diversas categorias de funções internas, desde funções de agregação, passando por funções de manipulação de texto, data/hora, funções com informações do sistema, etc.
Neste artigo, vamos explorar alguns exemplos para ilustrar este potencial.
T-SQL, muito prazer
Ao longo das últimas décadas, os bancos de dados relacionais estabeleceram como padrão o uso da linguagem estruturada para consultas (ou simplesmente SQL, na sigla em inglês).
Cada banco de dados adota uma versão ligeiramente diferente da linguagem SQL. Porém, os conceitos principais seguem um padrão internacional. É por isso que uma sentença para extração de dados de uma tabela será praticamente idêntica, não importa se nosso banco de dados seja SQL SERVER, ORACLE, DB2, FIREBIRD, MYSQL ou qualquer outro banco relacional.
O T-SQL, adotado pelo SQL SERVER 2005, é uma versão estendida da linguagem. Isso quer dizer que ela respeita o padrão internacional e ainda inclui algumas funcionalidades próprias.
O nosso estudo aborda as bibliotecas de funções internas da T-SQL. Na realidade, abordaremos algumas das funções mais comuns, sendo que a maioria delas faz parte do padrão ANSI-92.
É importante observar que o padrão ANSI recomenda a existência de algumas funções básicas. Entretanto, isso não é uma garantia de que tais funções existam no sistema gerenciador de banco de dados que você está usando. A única garantia que temos é que as funções aqui apresentadas estão disponíveis no SQL SERVER (versão 7 ou superior).
Operadores da T-SQL
Antes de falarmos das funções, precisamos entender os operadores usados na T-SQL. Existem algumas categorias de operadores, como operadores lógicos, matemáticos, de comparação e assim por diante.
Entre os operadores matemáticos, temos a soma (+), subtração (-), multiplicação (*), divisão (/) e módulo (%). Para quem não se lembra, módulo é o número inteiro que sobra de uma divisão.
Temos também o operador de atribuição (=), que é usado para se passar valores para uma variável.
Outro exemplo que exploraremos a seguir é o operador de concatenação de textos. Por simplicidade, este operador também usa o sinal de adição (+).
Sobre as cláusulas da T-SQL
Uma dúvida comum é: quais cláusulas aceitam o uso de operadores e/ou funções?
A resposta é: praticamente todas.
Podemos incluir operadores e funções em sentenças SQL de seleção de dados (SELECT), inserção (INSERT), atualização (UPDATE) e exclusão (DELETE).
Também podemos usar operadores e funções dentro das cláusulas SET, WHERE, HAVING, GROUP BY, ORDER BY e FROM (quando tivermos junções de tabelas). O SQL SERVER 2005 também os suporta em cláusulas TOP, o que, aliás, é uma das novidades do produto.
A Listagem 1 mostra um exemplo de SELECT que calcula o valor de um imposto, considerando que ele seja igual a 12% do valor da transação. Note que o valor da transação (ValorReal) está armazenado na tabela tblDemanda, enquanto que o imposto (Imposto) é calculado em tempo real.
Listagem 1. Uso de operadores em uma sentença SQL de seleção de dados.
SELECT T.fkProduto, T.Data, T.ValorReal, (0.12 * T.ValorReal) AS Imposto
FROM tblDemanda AS T
Ainda sobre a Listagem 1, devemos observar que os parênteses são opcionais e foram incluídos na sentença apenas por uma questão didática.
Para simplificar, todos os exemplos que apresentaremos serão aplicados a sentenças do tipo SELECT.
Funções internas da T-SQL " [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo