我定义了一个叫shit的表。如下
列名       数据类型
md5         char(32)   主键
userName   varchar(30)
storeTime   DateTime然后 我写了如下一句insert into shit values(123,123,123)插入成功 我疑惑了 更蛋疼了char不是定长的嘛。。我写123。。没到32位都可以插入
DateTime 更让我蛋疼  123怎么会是DateTime
哪位仁兄可以解释一下。我用的SQL SERVER 2008

解决方案 »

  1.   

    隐式转换
    char定长,123后面自动补空格,datetime保存的是一个特定时间的偏移量,123转换成特定时间过123*天(不一定是天,有可能是秒)的时间
      

  2.   

    dateTime那个没看懂 。。什么*天???什么意思??
      

  3.   


    create table # (d datetime)
    insert # select 123
    select *, datediff(day, '1900-01-01', d) diff  from #
    /*
    d                       diff
    ----------------------- -----------
    1900-05-04 00:00:00.000 123
    */
      

  4.   

    多谢SQLCenter和lg314 这么晚了 还在帮忙 顶你们的肺