取出来的时候总是精确到了毫秒好象!
数据取出来总是有.0
例如
2009-01-01 11:11:11.0很讨厌啊!不知道有什么什么办法能把.0去掉.在执行sql的时候增加什么函数什么的?还是修改以下这个字段的属性?还是在连接db的时候设定什么就可以了?

解决方案 »

  1.   

    先试一下 select now(); 以确定是你的程序的问题还是数据库设置的问题。
    1。你用的什么工具?和下面一样也是mysql行命令?
    2。你的数据在哪儿?表中?什么字段类型?mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2009-06-30 23:47:28 |
    +---------------------+
    1 row in set (0.08 sec)mysql>
      

  2.   

    首先感谢啊!1.我是用java读出的就是在java里面执行 select * from xxxx
    我用 mysql front 执行select now()结果是2009-07-01 08:06:31
    2.我的数据在表里面,字段类型我要看看才知道家里没环境啊
    555还以为这是个普遍问题呢。555
      

  3.   

    我要在JSP中输出时间类型 但是现在输出的是2007-06-08 16:14:08.0 我不想让它输出后面的.0 
    这个是baidu上一个问题啊我觉得跟我就是一个问题啊
      

  4.   

    在MYSQL中取NOW(),只能到秒,你将2007-06-08 16:14:08.0转换成字符型,再输出到秒的字符串,mid('2007-06-08 16:14:08.0',1,20)
      

  5.   

    情况比较多,具体的可以参考MySQL中文手册5.1 的第11章第三节,就知道该怎么设置了。如果没有的话可以到这里下载“http://download.csdn.net/source/993441”
      

  6.   


    这样话,说明不是MySQL本身问题,基本上有两个可能
    1。MySQL和JAVA之间的联接设置,
    2。java/JSP自身对日期时间的处理。你做如下检查。
    1。看一下表中这个时间字段的数据类型。
    2。在你的java中试一下 select now(); ,以断定是表中这个字段问题,还是从MYSQL来的都有问题。因为select now();已经和表无关了。
    3。如果select now();也不正常,则在你的java中直接显示个java的datetime型数据看看是否正常,是不是你JSP本身显示所有时间都这个样。
      

  7.   

    我看了show variables like "datetime_format"; 结果是
    %Y-%m-%d %H:%i:%s
    那个字段的类型是 type datetime  default 是0000-00-00 00:00:00
    jsp肯定不是啊我以前也遇到过这个问题,但是总是有时候遇到有时候遇不到,当时的解决方法就是直接把.0在java里面subString去掉
      

  8.   

    对我也用Hibernate                是不是Hibernate自己把他当什么其他的日期类型所以精确到了毫秒
      

  9.   

    你做如下检查。
    1。看一下表中这个时间字段的数据类型。
    2。在你的java中试一下 select now(); ,以断定是表中这个字段问题,还是从MYSQL来的都有问题。因为select now();已经和表无关了。
    3。如果select now();也不正常,则在你的java中直接显示个java的datetime型数据看看是否正常,是不是你JSP本身显示所有时间都这个样。
    这些的结果是什么?
      

  10.   

    1.字段数据类型是 .那个字段的类型是 type datetime  default 是0000-00-00 00:00:00 
    show variables like "datetime_format"; 
    结果是 
    %Y-%m-%d %H:%i:%s 
    2.System.out.println(xx.queryForList("select now() "));
    的结果竟然也是带.0的
    [{=2009-07-07 23:18:57.0}]3.jsp肯定不是啊我以前也遇到过这个问题,但是总是有时候遇到有时候遇不到,当时的解决方法就是直接把.0在java里面subString去掉
      

  11.   

    1.字段数据类型是 .那个字段的类型是 type datetime  default 是0000-00-00 00:00:00 
    show variables like "datetime_format"; 
    结果是 
    %Y-%m-%d %H:%i:%s 
    2.System.out.println(xx.queryForList("select now() "));
    的结果竟然也是带.0的
    [{=2009-07-07 23:18:57.0}]3.jsp肯定不是啊我以前也遇到过这个问题,但是总是有时候遇到有时候遇不到,当时的解决方法就是直接把.0在java里面subString去掉
      

  12.   

    哈哈,这个问题我碰到过。
    如果你是用到JSP的话,很容易解决的!(1)用标签<fmt:foratDate  value="你要显示的时间数据" type="date"/>,这样就仅显示年月日。
    此标签有多个属性,属性type有几种选择。这里就不详述了。
    (2)记得引入标签库<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>希望能帮上楼主!
      

  13.   

    你的时间为:2009-01-01 11:11:11.0  具体你的数据库或者hibernate深层怎么设置不好说,
     标签<fmt:formatDate value="。。" pattern="yyyy/MM/dd/HH.mm.ss">,这里只显示到秒,
       毫秒pattern="yyyy/MM/dd/HH.mm.ss.SS(注意大小写)
      应该能帮你除去最后的0,只能帮你解决表面问题了,哈
      

  14.   

    字段属性设置为DATE,别设置为DATETIME
      

  15.   

    建议花5分钟重装mysql试下吧,哈哈
      

  16.   

    基本上可以确定是 mysql 版本或 mysql connector 上有什么问题与你的hibernate 的设置上不兼容。这个建议你到java 版去问一下。
      

  17.   

    我用jdbc也这样了.........................................................是连接时候参数问题吗?
      

  18.   

    set @dt=CURDATE();
    select @dt;
    SELECT DATE_FORMAT(@dt,'%Y-%c-%d');
    SELECT DATE_FORMAT(@dt,GET_FORMAT(DATE,'EUR'));
    SELECT DATE_FORMAT(@dt,GET_FORMAT(DATE,'ISO'));