SQL

USUARIO.EXCLUIDOS 14/03/2005 09:36:49
#72896
Na verdade a minha difculade naum eh vb mas sim Sql...
eu tenho um campo tipo smalldatetime chamado data, entaum gostaria de selecionar todas as datas cujo ano eh 2005...como posso fazer este select..
ex: 21/02/2005....gostaria de selecionar todos os registro com ano de 2005
USUARIO.EXCLUIDOS 14/03/2005 09:50:12
#72898
select * from tabela where year(campo) = 2005

mas veja bem, tenha em mente que vc usar funções na clausula where, o sql server ignora qualquer indice que possa ter nesta tabela....
RO.DRIGOSG 15/03/2005 08:08:49
#73019
/*
****** O COMANDO GETDATE *******
O GATDATE RETORNA A HORA DO SERVIDOR
EX: SELECT GETDATE()

A VANTAGEM DO USO DE CONVERT é A DE MANIPULAR A APRESENTAÇÃO DE DATAS
*/

SELECT GETDATE()

SELECT FIRSTNAME,
CAST (BIRTHDATE AS VARCHAR (20)) AS 'CAST',
CONVERT (VARCHAR(20),BIRTHDATE,103) AS 'CONVERT',
CONVERT (VARCHAR(20),BIRTHDATE,03) AS 'CONVERT'
FROM EMPLOYEES
-----------------------------------------------------------------------

-----------------------------------------------------------------------
/*
MANIPULAÇÃO DE DATAS
DATEPART -- RETORNA A PARTE SELECIONADA DE UMA DATA JUNTAMENTE COM O
GETDATE

*/

SELECT DATEPART (DD,GETDATE()) AS 'DIA',
DATEPART (MM,GETDATE()) AS 'MES',
DATEPART (WK,GETDATE()) AS 'SEMANA',
DATEPART (YY,GETDATE()) AS 'ANO',
DATEPART (DY,GETDATE()) AS 'DIA DO ANO',
DATEPART (HH,GETDATE()) AS 'HORA',
DATEPART (MI,GETDATE()) AS 'MINUTO',
DATEPART (SS,GETDATE()) AS 'SEGUNDO'

-- RETORNA PARTE DE UMA DATA TAMBEM
SELECT DAY (GETDATE()) 'DIA',
MONTH (GETDATE()) 'MES',
YEAR (GETDATE()) 'ANO'
-----------------------------------------------------------------------

-- DATEDIFF
/* RETORNA A DIFERENÇA ENTRE DUAS DATA, DE ACORDO COM A PARTE SOLICITADA DA DATA...
*/


SELECT DATEDIFF (DD, '12/11/1981', GETDATE ()) AS 'NUMERO DE DIAS',
DATEDIFF (MM, '12/11/1981', GETDATE ()) AS 'NUMERO DE MESES',
DATEDIFF (YY, '12/11/1981', GETDATE ()) AS 'NUMERO DE ANOS',
DATEDIFF (HH, '12/11/1981', GETDATE ()) AS 'NUMERO DE ANOS'
-- RETORNA QUANTOS DIAS TEM DO DIA 12/11/1981 ATé O DIA DE HOJE

-- CONFIGURA A LEITURA DA DATAS DO EDITOR PARA DIA/MES/ANO
SET DATEFORMAT DMY --((D-DIA/M-MES/Y-ANO))

-- NUMA DIVISÃO USANDO A PORCENTAGEM (%) PODEMOS OBTER O RESTO DE UMA
-- DIVISÃO
SELECT CAST (270 AS DECIMAL (5,2))/12 'IDADE',
270 % 12 'FALTA MESES'
-----------------------------------------------------------------------
-- DATEADD
/* GERA UMA NOVA DATA, A PARTIR DO CALCULO DE UMA DATA MAIS UM VALOR (N)
SOMADO A UMA PARTE ESPECàFICA DA DATA.
*/
SELECT DATEADD (YY, -5, GETDATE()),
DATEADD (YY, 10, GETDATE()),
DATEADD (WK, 10, GETDATE())
-----------------------------------------------------------------------

-----------------------------------------------------------------------
-- DATENAME
/* RETORNA UMA PARTE DA DATA ISCRITA POR EXTENSO
*/
SELECT DATENAME (DW,GETDATE())'DIA DA SEMANA',
DATENAME (MM,GETDATE())'MES'
SET LANGUAGE BRAZILIAN -- SELECIONA O IDIOMA

SELECT * FROM MASTER..SYSLANGUAGES -- MOSTRA TODAS AS LINGUAS CONHECIDAS
-- PELO SQL SERVER

Espero ter ajudado um pouco!

Um abraço!
Tópico encerrado , respostas não são mais permitidas