Ir para conteúdo

POWERED BY:

Arquivado

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

Renata Pedrosa

problema em SELECT com data

Recommended Posts

Pessoal

 

Meu banco de dados é sql server 2005 e numa tabela tem o campo DATA do tipo DATE.

 

no asp estou fazendo um select por 2 campos inclusive pelo campo data, pq preciso verificar o registro com a data de hoje. Sem data esta funcionando agora com a data ja testei de varias formas como segue abaixo:

 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '" & data & "'" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '& data &'" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = # & data & #" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = date()"

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '#&date()'" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '#date()#' "
já tentei de tudo que é jeito e nada.... se alguem puder me ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é gerado algum erro ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string sql para ver o que esta sendo passada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz o response.write:

 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '" & data & "'" 
Response.write inst_f

Resultado:

 

SELECT descricao FROM ficha WHERE descricao = '15' AND data = '27/5/2009'

Microsoft OLE DB Provider for SQL Server erro '80040e07'

 

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

 

/teste/ficha_acao2.asp, line 16

Olhei no meu banco de dados e as datas estão armazenadas neste formato...'27/5/2009', ja tentei de tudo...

 

 

dá um response.write na sua string sql para ver o que esta sendo passada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha necessidade é:

 

comparar se o campo DATA de uma tabela é igual a DATA DE HOJE

 

No meu sql server 2005 a data foi armazenada atraves de procedure recuperando a data do dia com GETDATE() e esta gravando assim: 28/5/2009 08:42:18

 

Então agora é quero um select que me retorne um registro comparando dois campos, decricao e data, onde o campo data tem que ser igual a data de hoje.

 

como posso fazer isso?

 

 

 

Pessoal

 

Meu banco de dados é sql server 2005 e numa tabela tem o campo DATA do tipo DATE.

 

no asp estou fazendo um select por 2 campos inclusive pelo campo data, pq preciso verificar o registro com a data de hoje. Sem data esta funcionando agora com a data ja testei de varias formas como segue abaixo:

 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '" & data & "'" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '& data &'" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = # & data & #" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = date()"

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '#&date()'" 

data = date()
inst_f="SELECT descricao FROM ficha WHERE descricao = '" & id & "' AND data = '#date()#' "
já tentei de tudo que é jeito e nada.... se alguem puder me ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez o seu erro seja algo simples, visto que é um datetime guarda as horas. se você quer converter para data de forma a criar um filtro na sua base de dados tendo em conta que a data é a de hoje tem de dizer as horas.

 

Eu costumo fazer assim Por exemplo:

 

IF @DataDe <> '' 
		SET @strSQL = @strSQL + ' AND (TblComprasMatPrimas.dtaCompra >= CONVERT(DATETIME, ''' + @DataDe + ' 00:00:00'', 105))'
	IF @DataAte <> '' 
		SET @strSQL = @strSQL + ' AND (TblComprasMatPrimas.dtaCompra <= CONVERT(DATETIME, ''' + @DataAte + ' 23:59:59'', 105))'

Neste caso estou construido o codigo dinamicamente com o resto do select pois uso filtros que podem ou nao estar selectionados mas tente adaptar e veja se funciona ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o que o Ted k' disse e no lab. de script tem ótimas função para isso

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.