SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: FAMPI_26 en Viernes 31 de Diciembre de 2004, 05:12

Título: Consulta
Publicado por: FAMPI_26 en Viernes 31 de Diciembre de 2004, 05:12
urgente !!!!!!! cuando creo este tabla en sql


create table tabla
(nombre varchar(30),
apeliido varchar(41),
Fec_Ingreso datetime DEFAULT GETDATE())

insert into tabla values('francisco','angeles',getdate())
insert into tabla values('diana','rios',getdate())
insert into tabla values('agata','amasifuen',getdate())

y realizo esta consulta

select * from tabla
where Fec_Ingreso = getdate()

resultado = ninguna fila


alguien sabe por que
Título: Re: Consulta
Publicado por: DiabloRojo en Domingo 2 de Enero de 2005, 01:10
Qué tal FAMPI_26?
El problema está en que GETDATE() no solo te devuelve la fecha sino también la hora. Así, cuando haces esto:
Citar
insert into tabla values('francisco','angeles',getdate())
insert into tabla values('diana','rios',getdate())
insert into tabla values('agata','amasifuen',getdate())
Estás colocando en el campo Fec_Ingreso el mismo día pero con horas distintas (la diferencia seguro es de segundos) y aún más cuando realizas la búsqueda
Citar
select * from tabla where Fec_Ingreso = getdate()
el criterio de búsqueda tiene otra hora totalmente distinta.

Para serte sincero no tengo ni idea de como puedes corregirlo. Te recomiendo que busques en la WEB. Para empezar aquí te mando un link:

http://www.microsoft.com/spanish/msdn/comu...ices/art157.asp (http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art157.asp)


DiabloRojo


P.D: Asumo que estás usando SQL Server 2000.
Título: Re: Consulta
Publicado por: Brroz en Lunes 3 de Enero de 2005, 12:00
Hola.

Hola deberías usar la función Format para indicar el formato de fecha/hora que utilizas... pero por otro lado: sólo tú sabes qué resultado devuelve la función getdate() a la que llamas.

Abur.
Título: Re: Consulta
Publicado por: ArKaNtOs en Lunes 3 de Enero de 2005, 20:27
o mira yo creo que tambien puedes usar la funcion datevalue(getdate()), sinceramente no lo he provado pero creo que si funciona o como dice broz puede ponerle el format pero dentro del datevalue B)