Funções SQL Server 2005
No SQL Server 2005 o T-SQL engloba diversas funções para que o desenvolvedor tenha maior flexibilidade na hora de escrever o código, facilitando a sua rotina no dia-a-dia. Essas funções podem ser funç...
Publicado em: 8 de abril de 2009 | Leituras: 8.281 |
Canal: SQL Server |
Autor: Thiago Carlos de Alencar
Ola galera, boa tarde. Quanto tempo que não escrevo um artigo. Infelizmente esse artigo de hoje não vai poder se continuação da modelagem de dados do E-commerce, pois não estou em casa com e os scripts do mesmo estão em um Server. Vou tentar escrever na semana que vem uma boa parte da modelagem para darmos alguns passos na criação de procedures, triggers e etc. Hoje vamos falar sobre funções do SQL Server 2005, fiquem atento desenvolvedores de plantão.rsrs.
No SQL Server 2005 o T-SQL engloba diversas funções para que o desenvolvedor tenha maior flexibilidade na hora de escrever o código, facilitando a sua rotina no dia-a-dia. Essas funções podem ser funções de agregação, função data e hora, texto, funções de informações do sistema e etc.
As funções de metadados do SQL retornam informações do tipo, nome do banco, Server, nome do usuário e etc. Essas funções nos ajudam no desenvolvimento de diversos processo, por exemplo: Se precisarmos desenvolver uma procedure que lista todos os objetos de banco de dados em uma instancia, poderíamos escrever o código para pesquisarmos apenas nos banco de dados dos usuário ou ate mesmo passar o id do database como padrão para procurar todos os objetos de um banco em questão.
No exemplo abaixo temos um select que retorna o nome do usuário conectado naquela sessão e o nome do DataBase atual. Ex:
Resultado:

Você também pode especificar o id do banco que você deseja ter informações ou vice-versa, conforme query abaixo: Ex:
Resultado:

Essas informações encontram-se nas views de sistema, a query abaixo retorna o informações sobre as bases de dados da intancia em qual você está conectado.
Alguma outras funções de metadados podem se encontrada neste link:
http://msdn.microsoft.com/pt-br/library/ms187812.aspx
Em alguns casos precisamos retornar informações com precisões de horas, comparar datas, adicionar horas ou ate mesmo dia a partir de X data.
GETDATE() - Retorna a data e hora atual do servidor com precisão em milisegundos. Ex:
Resultado:

DATEPART()
Retorna um inteiro que representa o datepart especificado da data especificada, a query abaixo retorna o numero de semanas que tivemos no ano atual, você poderia usar uma outra data no lugar do getDate(). Ex:
Resultado:

Mais informações sobre o datepart podem ser encontradas no link abaixo:
http://msdn.microsoft.com/pt-br/library/ms174420.aspx
DATEADD()
Retorna uma date especificada com o intervalo number especificado (inteiro assinado) adicionado à datepart especificada dessa date.
Os selects abaixo adicionam dia, mês e ano em cima do valor da data atual, usando a função dateAdd(). EX:
Resultado:

CONVERT
Usada para converter tipos de dados seguindo um determinado padrão. Frequentemente precisamos transformar campos de data em texto, para isso usamos a função convert. Ela recebe três argumentos. O tipo de dados resultante, o valor a ser convertido e o codigo da formatação. No exemplo abaixo temos duas querys que tranformam a data em um varchar(50), a única coisa que mudamos de uma para a outra fou o padrão. Observem que a segunda query esta no padrão brasileiro dd/mm/yyyy.Ex:
Resultado:

No SQL Server 2005 o T-SQL engloba diversas funções para que o desenvolvedor tenha maior flexibilidade na hora de escrever o código, facilitando a sua rotina no dia-a-dia. Essas funções podem ser funções de agregação, função data e hora, texto, funções de informações do sistema e etc.
Funções de Metadados
As funções de metadados do SQL retornam informações do tipo, nome do banco, Server, nome do usuário e etc. Essas funções nos ajudam no desenvolvimento de diversos processo, por exemplo: Se precisarmos desenvolver uma procedure que lista todos os objetos de banco de dados em uma instancia, poderíamos escrever o código para pesquisarmos apenas nos banco de dados dos usuário ou ate mesmo passar o id do database como padrão para procurar todos os objetos de um banco em questão.
No exemplo abaixo temos um select que retorna o nome do usuário conectado naquela sessão e o nome do DataBase atual. Ex:
SELECT
SUSER_NAME() AS NOME_USUARIO,
DB_NAME() AS [DATABASE] , -- CURRENT DATABASEResultado:

Você também pode especificar o id do banco que você deseja ter informações ou vice-versa, conforme query abaixo: Ex:
SELECT
SUSER_NAME() AS NOME_USUARIO,
DB_NAME('6') AS [DATABASE],
DB_ID('AREA_BACKUP') AS ID_DATABASE,Resultado:

Essas informações encontram-se nas views de sistema, a query abaixo retorna o informações sobre as bases de dados da intancia em qual você está conectado.
SELECT * FROM SYS.SYSDATABASESAlguma outras funções de metadados podem se encontrada neste link:
http://msdn.microsoft.com/pt-br/library/ms187812.aspx
Funções de tratamento data/hora.
Em alguns casos precisamos retornar informações com precisões de horas, comparar datas, adicionar horas ou ate mesmo dia a partir de X data.
GETDATE() - Retorna a data e hora atual do servidor com precisão em milisegundos. Ex:
SELECT GETDATE() AS DATA_ATUAL_COM_PRECISAOResultado:

DATEPART()
Retorna um inteiro que representa o datepart especificado da data especificada, a query abaixo retorna o numero de semanas que tivemos no ano atual, você poderia usar uma outra data no lugar do getDate(). Ex:
SELECT DATEPART(WK, GETDATE()) AS SEMANA_DO_ANOResultado:

Mais informações sobre o datepart podem ser encontradas no link abaixo:
http://msdn.microsoft.com/pt-br/library/ms174420.aspx
DATEADD()
Retorna uma date especificada com o intervalo number especificado (inteiro assinado) adicionado à datepart especificada dessa date.
Os selects abaixo adicionam dia, mês e ano em cima do valor da data atual, usando a função dateAdd(). EX:
SELECT DATEADD(DAY, 1, getDate()) AS ADICIONA_DIA
GO
SELECT DATEADD(month, 1, getDate()) AS ADICIONA_MES
GO
SELECT DATEADD(YEAR, 1, getDate()) AS ADICIONA_ANOResultado:

CONVERT
Usada para converter tipos de dados seguindo um determinado padrão. Frequentemente precisamos transformar campos de data em texto, para isso usamos a função convert. Ela recebe três argumentos. O tipo de dados resultante, o valor a ser convertido e o codigo da formatação. No exemplo abaixo temos duas querys que tranformam a data em um varchar(50), a única coisa que mudamos de uma para a outra fou o padrão. Observem que a segunda query esta no padrão brasileiro dd/mm/yyyy.Ex:
SELECT CONVERT(VARCHAR(50), GETDATE(), 101) AS [PADRAO AMERICANO]--PADRÃO AMERICANO
GO
SELECT CONVERT(VARCHAR(50), GETDATE(), 103) AS [PADRAO BRASILEIRO]--PADRÃO BRAS.Resultado:

Resposta em até 24 horas! (grátis)Dúvidas?
Autor da matéria
Últimas matérias escritas pelo autor:
|
Thiago Carlos de Alencar Analista de Banco de Dados SQL Server |
Últimas matérias escritas pelo autor:
10/08 - SQL SERVER: Integrando O System Monito...
28/01 - Tutorial: Backup no MySQL
06/01 - Criando um Backup no SQL Server 2005 -...
05/01 - SQL Server: Criando Backup através do ...
03/09 - Configurar o Database Mail
08/04 - Funções SQL Server 2005
03/05 - Índices no SQL Server 2000
27/03 - Criando Tabelas E-Commerce (Parte I)
08/03 - Criando um Banco de Dados no SQL Serve...
05/03 - Criando um Banco de Dados no SQL Serve...
02/02 - Usando Triggers
30/09 - Dicas de otimização de consultas
28/01 - Tutorial: Backup no MySQL
06/01 - Criando um Backup no SQL Server 2005 -...
05/01 - SQL Server: Criando Backup através do ...
03/09 - Configurar o Database Mail
08/04 - Funções SQL Server 2005
03/05 - Índices no SQL Server 2000
27/03 - Criando Tabelas E-Commerce (Parte I)
08/03 - Criando um Banco de Dados no SQL Serve...
05/03 - Criando um Banco de Dados no SQL Serve...
02/02 - Usando Triggers
30/09 - Dicas de otimização de consultas
Matérias relacionadas
Últimas matérias
Últimas notícias
Dicas do canal
- Dicas de otimização de consultas
Ola pessoal estou aqui escrevendo a minha primeira...







O que é o Data Base Tunning Advisor?
O que você procura para sua vida profissional?
O planejamento agrega valor
E-mail marketing em 140 caracteres
Novos iPods, novo iOS, novo iTunes e nova Apple TV
Conheça as 100 primeiras cidades atendidas pelo Banda Larga ...
Linus Torvalds diz que mercado já se rendeu ao Linux