INSERT INTO dbo.BOOK
VALUES('TP311.138SQ/33','7-118-02747-2','Transact-SQL实例大全',
NULL,'刘赛锦/张平宗','国防工业出版社/北京',2002-01,'第一版','中文',
'关系数据库-数据库管理系统/MS SQL Server 2000',NULL)
2002-01插到数据库中成为了
1905-06-25 00:00:00.000
1905-06-25 00:00:00.000
1905-06-26 00:00:00.000
1905-06-26 00:00:00.000
1905-06-26 00:00:00.000
1905-06-24 00:00:00.000
1905-06-23 00:00:00.000谢谢

解决方案 »

  1.   

    数据库是日期型的字段,你插的时候SQLSERVER  '2002-01' 如果是ACCESS #2002-01#
      

  2.   

    用这个'2002-01' 不能执行但是'2002-01-01' 却可以,如果我不要day的信息怎么办啊?我的这个字段是datetime类型的,长度为8
      

  3.   

    除了这一种不好用之外,
    都可以用,但是都必须是yy-mm-dd格式的。
    可以是yy-mm的吗
      

  4.   

    你用的datetime必须要格式正确'2002/01/01'或者‘00:00:00’后面的赋值了(time)前面的就是默认,前面赋值了后面就是默认!不能只有年和月
    如果你想那样可以设置成char
      

  5.   

    其实只是个 字符串 YYYY-MM-DD 形式的字符串, 这是数据库中要求的,如果你不想输入日期,可以自己拼串的时候 自己加-01 ,要是显示的话 SQL语句用DATEPART函数可以只显示你要的部分