Oficina da Net Logo

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 Pular para comentários
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
Comentários
Carregar comentários