tipo de dato DATE

15/08/2003 - 16:57 por Hernán Castelo | Informe spam
hola
en VFox existe un tipo de dato que es DATE
tiene año/mes/dia pero sin información horaria
cómo puedo implementar un campo
de esas características en SQL Server 2000

porque necesito registrar el ingreso y egreso
de personas al sistema de la forma
(ID_PERSONA, FECHA)

y si el campo FECHA fuera dateTime
podría llegar a tener miles de registros
el mismo día !

gracias de antemano


atte,
Hernán Castelo
UTN - Buenos Aires
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .

Preguntas similare

Leer las respuestas

#6 Hernán Castelo
20/08/2003 - 14:49 | Informe spam
esa me parece una buena forma
pero lo implementé como INT
para poder armar mejor la clave
como AÑO*10000+MES*100+DIA



atte,
Hernán Castelo
UTN - Buenos Aires
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .

"Miguel Egea" escribió en el mensaje
news:
Yo no lo haría así, sino que haría mi comparación
where Fecha>='20030101' and fecha<'20030102' así sql puede usar los


índices
y mantienes toda la información



Espero que te sirva.

Saludos
Miguel Egea
http://www.portalsql.com
Sql-Server MVP
"Jiordie" escribió en el mensaje
news:097901c363f9$b92b8730$
Prueba esto:
Antes de insertar tu registro en la tabla utiliza la
siguiente función para el campo fecha:
CAST(CONVERT (varchar(11), "Campo de la tabla o variable
de fecha", 108) AS DATETIME)
de esta forma quedará insertada la fecha con formato DATE
solamente, y para actualizar toda la tabla puedes hacer un
SP que actualice el campo a esta instrucción que te dí
anteriormente.

Espero te sirva de algo.

SUERTE!!
>por si no me expliqué bien:
>siento que en este caso
>horas, minutos, y segundos "estorban"
>cuando se hace un SELECT...WHERE fecha= 15/08/2003
>
>
>atte,
>Hernán Castelo
>UTN - Buenos Aires
>.. . . . . . . . . . . . . . . . . . .
. . . . . . .
>.. . . .
>
>"Emilio Boucau" escribió en el
mensaje
>news:
>> Hernan,
>>
>> no veo en que te complica que tengas la hora ya que si
registras la
>entrada
>> validaras que no exista (o una peresona que entre y
salga un par de veces
>en
>> el dia te hara eso de duplicar filas). Valida que no
este y listo antes de
>> insertar.
>>
>> Saludos !
>>
>> Emilio Boucau
>> Microsoft MVP SQL Server
>> http://www.portalsql.com
>> PASS Spanish Group
>> http://www.sqlpass.org
>>
>> Buenos Aires - Argentina
>>
>>
>
>
>.
>


Respuesta Responder a este mensaje
#7 Miguel Egea
20/08/2003 - 14:53 | Informe spam
Hola Hernan, si bien lo que popones es una opción, asegurate que no realizas
conversiones en el where, ya que esto hace que no puedan usarse los índices
por el optimizador de consultas.

Saludos Cordiales
=SALVA A SQL,
MATA UN CURSOR

Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
==

"Hernán Castelo" escribió en el mensaje
news:
esa me parece una buena forma
pero lo implementé como INT
para poder armar mejor la clave
como AÑO*10000+MES*100+DIA



atte,
Hernán Castelo
UTN - Buenos Aires
. . . . . . . . . . . . . . . . . . . . . . . . .


.
. . . .

"Miguel Egea" escribió en el mensaje
news:
> Yo no lo haría así, sino que haría mi comparación
> where Fecha>='20030101' and fecha<'20030102' así sql puede usar los
índices
> y mantienes toda la información
>
>
>
> Espero que te sirva.
>
> Saludos
> Miguel Egea
> http://www.portalsql.com
> Sql-Server MVP
> "Jiordie" escribió en el mensaje
> news:097901c363f9$b92b8730$
> Prueba esto:
> Antes de insertar tu registro en la tabla utiliza la
> siguiente función para el campo fecha:
> CAST(CONVERT (varchar(11), "Campo de la tabla o variable
> de fecha", 108) AS DATETIME)
> de esta forma quedará insertada la fecha con formato DATE
> solamente, y para actualizar toda la tabla puedes hacer un
> SP que actualice el campo a esta instrucción que te dí
> anteriormente.
>
> Espero te sirva de algo.
>
> SUERTE!!
> >por si no me expliqué bien:
> >siento que en este caso
> >horas, minutos, y segundos "estorban"
> >cuando se hace un SELECT...WHERE fecha= 15/08/2003
> >
> >
> >atte,
> >Hernán Castelo
> >UTN - Buenos Aires
> >.. . . . . . . . . . . . . . . . . . .
> . . . . . . .
> >.. . . .
> >
> >"Emilio Boucau" escribió en el
> mensaje
> >news:
> >> Hernan,
> >>
> >> no veo en que te complica que tengas la hora ya que si
> registras la
> >entrada
> >> validaras que no exista (o una peresona que entre y
> salga un par de veces
> >en
> >> el dia te hara eso de duplicar filas). Valida que no
> este y listo antes de
> >> insertar.
> >>
> >> Saludos !
> >>
> >> Emilio Boucau
> >> Microsoft MVP SQL Server
> >> http://www.portalsql.com
> >> PASS Spanish Group
> >> http://www.sqlpass.org
> >>
> >> Buenos Aires - Argentina
> >>
> >>
> >
> >
> >.
> >
>
>


Respuesta Responder a este mensaje
#8 Hernán Castelo
20/08/2003 - 21:43 | Informe spam
sí: No en el where



atte,
Hernán Castelo
UTN - Buenos Aires
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .

"Miguel Egea" escribió en el mensaje
news:
Hola Hernan, si bien lo que popones es una opción, asegurate que no


realizas
conversiones en el where, ya que esto hace que no puedan usarse los


índices
por el optimizador de consultas.

Saludos Cordiales
=> SALVA A SQL,
MATA UN CURSOR

Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
==>

"Hernán Castelo" escribió en el mensaje
news:
> esa me parece una buena forma
> pero lo implementé como INT
> para poder armar mejor la clave
> como AÑO*10000+MES*100+DIA
>
>
>
> atte,
> Hernán Castelo
> UTN - Buenos Aires
> . . . . . . . . . . . . . . . . . . . . . . . .


.
.
> . . . .
>
> "Miguel Egea" escribió en el mensaje
> news:
> > Yo no lo haría así, sino que haría mi comparación
> > where Fecha>='20030101' and fecha<'20030102' así sql puede usar los
> índices
> > y mantienes toda la información
> >
> >
> >
> > Espero que te sirva.
> >
> > Saludos
> > Miguel Egea
> > http://www.portalsql.com
> > Sql-Server MVP
> > "Jiordie" escribió en el mensaje
> > news:097901c363f9$b92b8730$
> > Prueba esto:
> > Antes de insertar tu registro en la tabla utiliza la
> > siguiente función para el campo fecha:
> > CAST(CONVERT (varchar(11), "Campo de la tabla o variable
> > de fecha", 108) AS DATETIME)
> > de esta forma quedará insertada la fecha con formato DATE
> > solamente, y para actualizar toda la tabla puedes hacer un
> > SP que actualice el campo a esta instrucción que te dí
> > anteriormente.
> >
> > Espero te sirva de algo.
> >
> > SUERTE!!
> > >por si no me expliqué bien:
> > >siento que en este caso
> > >horas, minutos, y segundos "estorban"
> > >cuando se hace un SELECT...WHERE fecha= 15/08/2003
> > >
> > >
> > >atte,
> > >Hernán Castelo
> > >UTN - Buenos Aires
> > >.. . . . . . . . . . . . . . . . . . .
> > . . . . . . .
> > >.. . . .
> > >
> > >"Emilio Boucau" escribió en el
> > mensaje
> > >news:
> > >> Hernan,
> > >>
> > >> no veo en que te complica que tengas la hora ya que si
> > registras la
> > >entrada
> > >> validaras que no exista (o una peresona que entre y
> > salga un par de veces
> > >en
> > >> el dia te hara eso de duplicar filas). Valida que no
> > este y listo antes de
> > >> insertar.
> > >>
> > >> Saludos !
> > >>
> > >> Emilio Boucau
> > >> Microsoft MVP SQL Server
> > >> http://www.portalsql.com
> > >> PASS Spanish Group
> > >> http://www.sqlpass.org
> > >>
> > >> Buenos Aires - Argentina
> > >>
> > >>
> > >
> > >
> > >.
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida