Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mayconcna

Consulta no banco a partir da data

Recommended Posts

Oi... minha sintaxe é essa abaixo... eu queria saber como que faço para pesquisar as datas no sql server..... eu preciso mostrar em uma página as noticias a partir de uma determinada.... data .... agora está abaixo é a sintaxe do access, agora do sql server eu não... sei... alguem poderia me ajudar?? Abaixo a sintaxe.......

 

 

dim sql, rs

 

procura= dateadd("d",-20,date)

 

sql= "select * from TabelaNews where dbdata >= #"&procura&"# order by dbid desc"

 

set rs= conn.execute(sql)

 

valews... gente ... meu mail é maycon@cnalondrina.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,você pode usar um código assim-- Declaro uma variavel do tipo datetimeDECLARE @DATA datetime;-- Subtraiu a data e removo os minutos deixando a data nesse formato ( 2004-08-19 00:00:00.000 )SET @DATA = CAST( CAST( getdate() - 10 as VARCHAR(11) ) as DATETIME );-- Seleciono os registros SELECT * FROM TabelaNews WHERE dbdata >= @DATA;OBS.:"getdate() - 10" -->> essa expressa pode ser substituida por essa ->> DATEADD( dd, -10, getdate() )Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi beleza... fernando....Agora é o seguinte... eu sei usar pouco o sql server onde que eu devo colocar este codigo e como que eu declaro.....no ASP?meu msn é mayconbeserra@hotmail.com Ow valew pela a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maycon,você pode criar uma função para calcular a data que você deseja., assim você so teria um select simples.Exemplo de função:=============CREATE FUNCTION DBO.SUBTRAIDATA( @DATA datetime, @QTDE_DIAS smallint ) RETURNS datetimeWITH ENCRYPTIONASBEGIN DECLARE @NOVA_DATA datetime; IF @DATA IS NOT NULL AND @QTDE_DIAS IS NOT NULL SET @NOVA_DATA = CAST( CAST( @DATA - @QTDE_DIAS as VARCHAR(11) ) as DATETIME ); RETURN @NOVA_DATA;ENDGOai no ASP você apenas colocaria o SELECT-- Seleciono os registrosSELECT * FROM TabelaNewsWHERE dbdata >= dbo.SUBTRAIDATA( getdate(), 10 );nesse case retornará as suas noticias acima de 10 dias.Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza fernando....eu coloquei no query o seu codigo mais deu um monte de erro... de sintaxe...eu provavelmente colei errado.... pq eu apenas usava a parte de design, eu só sei cria banco e tabela, a parte manuel eu não sei.... eu vou começar a aprender o sql daki alguns meses, agora q parte que eu colo no sql server....?ow valew por estar me ajudando..... pq eu so iniciante...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maycon,você vai colar esse codigo num editor SQL, e você compila no BD.CREATE FUNCTION DBO.SUBTRAIDATA( @DATA datetime,@QTDE_DIAS smallint ) RETURNS datetimeWITH ENCRYPTIONASBEGINDECLARE @NOVA_DATA datetime;IF @DATA IS NOT NULL AND @QTDE_DIAS IS NOT NULLSET @NOVA_DATA = CAST( CAST( @DATA - @QTDE_DIAS as VARCHAR(11) ) as DATETIME );RETURN @NOVA_DATA;ENDGOai logo apos isso você podera executar o seu SELECT para testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fernando eu coloquei o codigo no SQL query analizer

 

daí deu erros... de sintaxe assim:

 

Server: Msg 170, Level 15, State 1, Line 1

Line 1: Incorrect syntax near 'FUNCTION'.

Server: Msg 137, Level 15, State 1, Line 9

Must declare the variable '@DATA'.

Server: Msg 137, Level 15, State 1, Line 10

Must declare the variable '@DATA'.

Server: Msg 178, Level 15, State 1, Line 12

A RETURN statement with a return status can only be used in a stored procedure.

 

isso é toda a ver que eu executo....

eu apenas colei e executei.... já no enterprise, no query eu colei deu os mesmo erros.... qndo eu verifiquei a sintaxe.....

 

você tem uma boa apostial de sql server para me passar? E eu não tenho q coloca mais nada alem desse codigo seu?

 

 

beleza ... maycon

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.