SQL Server Performance

Insertar fecha vacias en SQL Server 2000.

Discussion in 'Preguntas sobre SQL Server en Español.' started by riveraz, Nov 15, 2005.

  1. riveraz New Member

    Que tal amigos.

    Quiziera saber como puedo insertar fechas vacias en un campo de tipo datetime de SQL Server.


    Yo estoy trabajando con Visual Fox Pro 7 y mi base de datos en SQL Server. Cuando no ingreso ningun valor en el campo fecha de mi formulario en SQL Server se almacena el siguiente valor 01/01/1900. Quiziera que en SQL Server tambien se almacenara un dato vacio en el campo fecha. Lo unico que he logrado almacenar en un dato Null pero esto no me sirve.

    Cualquier ayudara servira de mucho.
  2. amayral New Member

    Lo siento pero no conozco mejor valor para indicar vacío que NULL

    No existe algoritmo perfecto, todo es mejorable
  3. Luis Martin Moderator

    Y cuál es el dato que quisieras guardar?. Porqué no te sirve null?


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


    All postings are provided “AS IS” with no warranties for accuracy.



  4. riveraz New Member

    Ya que se interezaron en mi pregunta explicare con mas detalles mi situacion.

    Tengo dos tablas (cabezera y detalle), en mi tabla detalle existe un campo de tipo datetime. En este campo no es obligatorio almacenar un valor. Por tanto no es necesario especificar este dato (fecha) en todos los registros de mi cuadricula de VFP, cuando realizo el proceso de grabacion de estos registros a SQL Server, en aquellos registros que no se especifico el dato en el campo fecha de mi cuadricula aparece el siguiente valor 01/01/1900 en el campo fecha de mi base de datos.

    Lo que deseo es que si no ingrese ningun dato (campo fecha) en mi cuadricula tampoco exista en mi base de datos.

    La solucion que logre hasta el momento pero no me gusta tanto es la siguiente. Pasar valores nulos a SQL Server, pero cuando vuelvo a presentar los datos en el formulario, el campo fecha de mi cuadricula aparece .NULL., tampoco me gusta que este apareciendo este valor en aquellos registro donde no se especifico el dato fecha.

    Quizas hayan entendido mi situacion.
  5. Luis Martin Moderator

    Entender, se entiende.
    Ahora, si en la creación de la tabla se permiten NULL, entonces la falta de dato es NULL.
    Si no se permite NULL, entonces tendrás que almacenar algún dato en el formato Datetime y el formato default es la fecha que tu mencionas al principio.

    Lo que puedes hacer es que, cuando lo pasas de SQL a tu cuadrícula, utilizar la sentencia CONVERT para cambiar el NULL por algo que te guste más.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


    All postings are provided “AS IS” with no warranties for accuracy.



  6. amayral New Member

    Está claro que el problema está en que no realiza conversión alguna al mostrar datos. Una solución menos elegante y que yo nunca optaría por ella, es almacenar el campo en un tipo de datos char(n) y con una regla default que haga por defecto el campo = a n espacios en blanco. El problema lo tendrá cuando quieras hacer cálculos donde tendrás que convertir. No sé pero la única solución elegante y profesional es la primera por la que apuesta Luis y yo.

    saludos

    No existe algoritmo perfecto, todo es mejorable

Share This Page