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ções de agregação, função data e hora, texto, funções de informações do sistema e etc.

Por | @oficinadanet Programação
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.

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 DATABASE


Resultado:
Funções SQL Server 2005

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:
Funções SQL Server 2005

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.SYSDATABASES


Alguma 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_PRECISAO


Resultado:
Funções SQL Server 2005

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_ANO


Resultado:
Funções SQL Server 2005

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_ANO


Resultado:
Funções SQL Server 2005

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:
Funções SQL Server 2005

Mais sobre: sql server sql date
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar