consulta sobre fecha

17/10/2008 - 18:20 por Luis Mata | Informe spam
Hola a Todos

Quiero saber cual es el default del DATETIME

Osea quiero insertar en mi Campo fechas y no fechas, en las fechas no quiero
que se inserte el valor NULL, quiero que se quede en blanco, como lo hago

Luis

Preguntas similare

Leer las respuestas

#6 Luis Mata
17/10/2008 - 21:17 | Informe spam
asi es porque null se puede controlar en base de codigos pero se ve feo en
la B.D. MS a corregir eso.

""Fernando A. Gómez F."" escribió en el
mensaje de noticias news:
Luis Mata wrote:

"Luis Mata" wrote:

Hola a Todos

Quiero saber cual es el default del DATETIME

Osea quiero insertar en mi Campo fechas y no fechas, en las fechas no
quiero
que se inserte el valor NULL, quiero que se quede en blanco, como lo
hago

Luis









Pos no se puede todo en esta vida. En particular, tienes ahí un error de
diseño que convendría revisar.

Saludos.
Respuesta Responder a este mensaje
#7 Luis Mata
17/10/2008 - 21:18 | Informe spam
Asi es trabajo en Fox y no tengo problemas con fechas en vacio asi deberia
de ser no les parece ya que en facturas al credito tienen una fecha de
vencimiento pero las que son en efectivo no tienen FV.

Luis


"Germán Valdez" escribió en el mensaje de noticias
news:%
sql no soporta fechas en blanco como lo hace visual foxpro por ejemplo

en blanco es nulo.



"Luis Mata" escribió en el mensaje
news:%
correcto pero yo no quiero que salga ninguna fecha, osea vacio el campo
esta seteado para que no acepte null, y en lugar de dejarlo vacio inserta
ese valor 19000101 y eso es lo que no quiero porque se presta para
confusiones.
entienda que el campo se usa con fechas pero algunos registros se
requiere que quede vacio


Luis
"Alejandro Mesa" escribió en el
mensaje de noticias
news:
Luis Mata,

Blanco?

Ese valor no esta en el dominio de el tipo datetime. Blanco es traducido
a
19000101.

Ejemplo:

declare @t table (
dt datetime NULL
)

insert into @t default values
insert into @t values('')
insert into @t values(getdate())

select * from @t
GO


AMB


"Luis Mata" wrote:

Hola a Todos

Quiero saber cual es el default del DATETIME

Osea quiero insertar en mi Campo fechas y no fechas, en las fechas no
quiero
que se inserte el valor NULL, quiero que se quede en blanco, como lo
hago

Luis











Respuesta Responder a este mensaje
#8 Carlos M. Calvelo
17/10/2008 - 21:35 | Informe spam
Hola Luis,

On 17 okt, 19:31, "Luis Mata"
wrote:
correcto pero yo no quiero que salga ninguna fecha, osea vacio el campo esta
seteado para que no acepte null, y en lugar de dejarlo vacio inserta ese
valor 19000101 y eso es lo que no quiero porque se presta para confusiones.
entienda que el campo se usa con fechas pero algunos registros se requiere
que quede vacio




Puedes explicar qué es lo que entiendes tu por 'campo vacío',
pero no nulo? Y por qué no puede ser nulo?
Puedes tratar de explicar también que regla es la que requiere que
'quede vacío'? O sea, qué significado tiene el 'estar vacío'?

Tienes tres opciones:

1) permitir que el campo sea nulo en los registros para los que se
'requiere' que ese campo quede 'vacío'.
2) utilizar un valor especial como 19000101 para señalar que no
hay fecha y no aceptar nulos. En ese case 19000101 no es posible
como fecha.
3) normalizar la tabla. Esto quiere decir que borras esa columna
y creas otra tabla con la misma clave primaria que la primera
tabla y con una columna con esa fecha. En esta segunda tabla
solo introduces aquellos registros para los que se tiene que
proporcionar una fecha. Pero va a tener como resultado que al
hacer un outer join de las dos tablas te apareceran otra vez
los nulos. Al hacer el join se pueden convertir los nulos a un
valor especial (como 19000101) pero estamos otra vez con el
el problema original (nulo o valor especial).

La última opción es interesante en el caso de que se espere que para
la gran mayoría de los registos la fecha va a quedar vacía.

Para todas las opciones puedes también al hacer una consulta,
convertir las fechas a tipo char o varchar e interpretar los
nulos o el valor especial como '' (cadena vacía). Pero entonces
la columna en el resultado ya no es datetime, sino char o varchar.

Mira este ejemplo (siguiendo con el de Alejandro) para ver como
puedes hacer esto último con los nulos o con el valor especial:

-
declare @t table (dt datetime NULL)

insert into @t default values
insert into @t values('')
insert into @t values(getdate())

select
dt,
case
when dt is null or dt = '19000101' then ''
else convert(varchar, dt, 121)
end as FechaChar
from @t
-

Vistas otras reacciones creo que aquí se están confundiendo los
nulos como marca de falta de información con la presentación
de ese hecho a los usuarios en las aplicaciones.
Este último ejemplo deja claro que los nulos no tienen ni por
que llegar a las aplicaciones (piensa en vistas), para cuanto
mas a la presentación a los usuarios.

Saludos,
Carlos
Respuesta Responder a este mensaje
#9 Victor Koch
17/10/2008 - 22:21 | Informe spam
Hola,

Y porque no guardas en la FV la fecha de emisión para las facturas en
efectivo.


Un Saludo, Víctor Koch



"Luis Mata" escribió en el mensaje
news:
Asi es trabajo en Fox y no tengo problemas con fechas en vacio asi deberia
de ser no les parece ya que en facturas al credito tienen una fecha de
vencimiento pero las que son en efectivo no tienen FV.

Luis


"Germán Valdez" escribió en el mensaje de noticias
news:%
sql no soporta fechas en blanco como lo hace visual foxpro por ejemplo

en blanco es nulo.



"Luis Mata" escribió en el mensaje
news:%
correcto pero yo no quiero que salga ninguna fecha, osea vacio el campo
esta seteado para que no acepte null, y en lugar de dejarlo vacio
inserta ese valor 19000101 y eso es lo que no quiero porque se presta
para confusiones.
entienda que el campo se usa con fechas pero algunos registros se
requiere que quede vacio


Luis
"Alejandro Mesa" escribió en
el mensaje de noticias
news:
Luis Mata,

Blanco?

Ese valor no esta en el dominio de el tipo datetime. Blanco es
traducido a
19000101.

Ejemplo:

declare @t table (
dt datetime NULL
)

insert into @t default values
insert into @t values('')
insert into @t values(getdate())

select * from @t
GO


AMB


"Luis Mata" wrote:

Hola a Todos

Quiero saber cual es el default del DATETIME

Osea quiero insertar en mi Campo fechas y no fechas, en las fechas no
quiero
que se inserte el valor NULL, quiero que se quede en blanco, como lo
hago

Luis














Respuesta Responder a este mensaje
#10 Luis Mata
17/10/2008 - 22:23 | Informe spam
veras, los usuarios son demasiados exquisitos en ese caso, dice que se
confunden y piensan que es credito, ya te imaginas asi que de preferencia
que quede en blanco, en el Fox lo puedo controlar sin problemas pero en el
sql no.

"Victor Koch" <v i c t o r (arroba)correo(punto)waldbott(punto)com(punto)ar>
escribió en el mensaje de noticias
news:%
Hola,

Y porque no guardas en la FV la fecha de emisión para las facturas en
efectivo.


Un Saludo, Víctor Koch



"Luis Mata" escribió en el mensaje
news:
Asi es trabajo en Fox y no tengo problemas con fechas en vacio asi
deberia de ser no les parece ya que en facturas al credito tienen una
fecha de vencimiento pero las que son en efectivo no tienen FV.

Luis


"Germán Valdez" escribió en el mensaje de noticias
news:%
sql no soporta fechas en blanco como lo hace visual foxpro por ejemplo

en blanco es nulo.



"Luis Mata" escribió en el mensaje
news:%
correcto pero yo no quiero que salga ninguna fecha, osea vacio el campo
esta seteado para que no acepte null, y en lugar de dejarlo vacio
inserta ese valor 19000101 y eso es lo que no quiero porque se presta
para confusiones.
entienda que el campo se usa con fechas pero algunos registros se
requiere que quede vacio


Luis
"Alejandro Mesa" escribió en
el mensaje de noticias
news:
Luis Mata,

Blanco?

Ese valor no esta en el dominio de el tipo datetime. Blanco es
traducido a
19000101.

Ejemplo:

declare @t table (
dt datetime NULL
)

insert into @t default values
insert into @t values('')
insert into @t values(getdate())

select * from @t
GO


AMB


"Luis Mata" wrote:

Hola a Todos

Quiero saber cual es el default del DATETIME

Osea quiero insertar en mi Campo fechas y no fechas, en las fechas no
quiero
que se inserte el valor NULL, quiero que se quede en blanco, como lo
hago

Luis


















Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida