怎么表示生日的数据类型?

解决方案 »

  1.   

    datetime 显示的是年月日小时分秒 太精确了
      

  2.   

    sql2008中可以将这些分开。sql2k,sql2k05中不行,除非你用varchar类型。[code=SQL]EXEC sp_addtype 'MyDate', 'VARCHAR(10)'  --当然,你也可以不增加自定义数据类型
    GOCREATE TABLE tb(id INT,d MyDate NOT NULL DEFAULT CONVERT(VARCHAR(10),GETDATE(),120) CHECK( ISDATE(d)=1 AND ISNUMERIC(d)=0) )
    GOINSERT tb(id) VALUES(1)
    INSERT tb(id,d) VALUES(2,'1891-1-1')
    GO
    SELECT * FROM tb
    /*
    1 2008-12-22
    2 1891-1-1*/
    GO
    DROP TABLE tb
    GO
    EXEC sp_droptype MyDate
    GO[/code]
      

  3.   

    convert (varchar(10),getdata(),120)