SQL Server – Tratando dados de um DateTime separadamente

 

 

Como série de novos posts desta temporada, nesse artigo iremos tratar dados especifico do tipo de dado  (DateTime).

Essa semana como sempre super corrida, (que bom, porque não gosto de ficar parado), estava eu programando uma rotina de filtro para exibição de informações especificas para certo Ano em uma data. Determinado momento na Unit de Testes (BDD / TDD) deparei com a seguinte situação :

Como eu vou recuperar somente o ano deste DateTime de forma eficiente ?

… Pensei

… Pensei + Ainda ( Coisas Absurdas … Ex: POG (Programação Orientada a Gambiarra).

Então fui estudar mais SQL Server e descobri isso : O DATEPART ()

DATEPART () : “ Retorna um valor representando uma parte especifica de uma data. “
( MSDN, Brazil – http://msdn.microsoft.com/en-us/library/aa258265(SQL.80).aspx )

A vantagem de usar a função do SQL Server DATEPART() é que ele é simples de usar e funciona com todas as versões do ADO, DAO e RDO. A desvantagem de usar a função DATEPART() é que ele é específico para o SQL Server. No entanto, outros servidores podem ter funções comparáveis.

Não confunda a função do SQL Server DATEPART() com a função DatePart() do Visual Basic, que é usada com o tipo de dados data do Visual Basic.

Sintaxe

O uso do DATEPART :

DATEPART (parte_da_data, campo)

Ex:

SELECT DataVenda, DATEPART(YEAR, DataVenda) FROM Vendas

No lugar do YEAR você pode usar também alguns procedimentos de um Datetime :

Ms for Milliseconds

Yy para Ano

Qq para um quarto do ano

Mm para mês

Dy para dia do Ano

Dd para dia do Mês

Wk para semana

Dw para dia da semana

Hh para hora

Mi para minuto

Ss para segundo

 

 

Sobre Estevão Ferreira Maia
* Desenvolvedor em Web e Desktop (especialmente na plataforma .NET e Java), graças à formação em tecnologia e dedicação a muito estudo, solidificados pela experiência na área. * Realiza trabalhos de design de conceito em softwares, logos, sites, etc. * Participa de projetos utilizando arquiteturas de desenvolvimento ágil como SCRUM e padrões em arquitetura de software (Design Patterns). * Facilidade para trabalhar em equipe e criar sinergia com clientes e gestores. Além disso, está constantemente em crescimento técnico e metodológico, através de cursos, seminários e certificações. * Ministra várias palestras e míni cursos na área de dispositivos móveis Google Android e sobre desenvolvimento, e colaboro com a comunidade código aberto (OpenSource) e acadêmico e com artigos publicados no site Viva o Linux e outros. - Áreas de Conhecimento - Web: Web Services, SOAP, Java EE, ASP.NET, HTML, JavaScript, Adobe Flash, Adobe Flex, EXTJs; Desktop: .NET C#, QT Develop C/C , VB .NET; Móvel: Google Android, Windows Phone, iPhone SDK. Bancos de Dados: DB2, SQL Server, Firebird, MySQL; Servidores: Apache, Apache Tomcat, IIS, IBM WebSphere, Azure (Cloud Computing); Linguagens: .NET C#, Java, Android SDK, Objective C (iPhone), C/C e ActionScript; Redes: Windows NT/2000/2003, MacOS X, OpenSuse, Slackware; Ferramentas: Enterprise Architect, Crystal Reports, VisualStudio, Eclipse , Rational IBM, Netbeans, Adobe Flex Builder, Adobe Photoshop CS, Dreamweaver CS. Certificações MS2B - Microsoft Students to Business; IPELA – Sony Network Camera;

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.