数据是从SYBASE里BCP出来的,但是时间格式是smalldatetime类型。 
现在想把这些数据导入到MYSQL中,设置成datetime类型,但是数据不能成功导入,原有的时间数据都变成了0000-00-00。 
在网上查资料说将时间用引号引起就可以了,但我试后,仍然不行,请高手指点迷律.谢谢!

解决方案 »

  1.   

    mysql> select * from t_dqcd where wh=000038725;
    +-----------+------+-----+-------+--------+------+---------------------+--------
    -------------+---------------------+----+----+------+----+------+-----+-----+---
    ---+------+------+------+------+---------+------+------+
    | wh        | hh   | sh  | bcc   | hm     | bjje | khr                 | qxr
                 | dqr                 | bz | bt | zkfs | yw | chdz | czy | ywy | zz
    cs | zhzt | mm   | sfz  | yj   | pzhm    | dbhh | dbsh |
    +-----------+------+-----+-------+--------+------+---------------------+--------
    -------------+---------------------+----+----+------+----+------+-----+-----+---
    ---+------+------+------+------+---------+------+------+
    | 000038725 | 8803 | 001 | 11120 | 杨成明 |  700 | 0000-00-00 00:00:00 | 0000-00
    -00 00:00:00 | 0000-00-00 00:00:00 | 0  | 0  | 0    | 0  | 市化 | 02  |     |
     0 | 0    |      |      |      | 0295418 |      |      |
    +-----------+------+-----+-------+--------+------+---------------------+--------
    -------------+---------------------+----+----+------+----+------+-----+-----+---
    ---+------+------+------+------+---------+------+------+
    1 row in set (1.84 sec)
    看吧,所有是时间类型都显示成这样,把他显示在页面里,就是NULL值,帮忙解决吧,谢谢
      

  2.   

    我可怜的汉语,没说清楚,你的从SYBASE中导出的数据格式是什么样?
      

  3.   

    000038725 8803 001 11120 杨成明     700.00 Dec 18 1997 12:00AM Dec 18 1997 12:00AM Dec 18 1998 12:00AM 0 0 0 0 市化 02      0 0       0295418     8
    是这样的,我是通过mysql load 命令导进去的,这是其中的一条
      

  4.   

    Dec 18 1997 12:00AM
    这种格式不是MYSQL能够识别的日期格式。你只能先想办法处理一下才行。
      

  5.   

    先建一个一样的临时表,但这几个时间的字段放置为varchar型,然后导入。再用STR_TO_DATE(str,format) 转成datetime型insert 到t_dqcd 中。
      

  6.   

    Dec 18 1997 12:00AM  转换成 19971218120000
    写个函数也不难哦,呵呵