现在数据库中有一个字段pubdate 他的类型是int(10)  他是一个10位的int类型,我现在在Java程序中要用到这个字段,但是用的时候不是以int形式使用,而是以date类型使用,别人存的是日期,但是是以int类型存储的,我要怎么以2009/0102这种形式得到呢?有知道的说下。。

解决方案 »

  1.   

    mysql> select from_unixtime(231424234);
    +--------------------------+
    | from_unixtime(231424234) |
    +--------------------------+
    | 1977-05-02 20:30:34      |
    +--------------------------+
    1 row in set (0.02 sec)是这种形式吗?
      

  2.   

    SELECT FROM_UNIXTIME( 1234517776, '%Y/%m%d' )我要的结果是这样的,但是我要把这个结果嵌到Java程序中该怎么做?
      

  3.   

    我现在都不知道怎么表达了,就是假如我通过模糊查询查询除了一堆int类型的日期,现在我要用的形式是
    2006/0112 这样的形式,我到底该怎么做?
      

  4.   

    String sql = "select FROM_UNIXTIME( column, '%Y/%m%d') where other like 'abc%';
    然后getString(1)应该能得到的。
      

  5.   

    能不能告诉我下得到int类型的数据后怎么样通过Java程序得到想要的值?
      

  6.   

    原来你想那样?那你得知道FROM_UNIXTIME( 1234517776)是如何计算的。
      

  7.   

    java 中也有这个类似功能的函数啊。你可以到java版询问一下。
      

  8.   

    java中虽然有类似的转换函数,但是语义上显然不一样。
    java.util.Date d = new java.util.Date(1234517776);
    SimpleDateFormat f=new SimpleDateFormat("yyyy/MMdd");
    System.out.println(f.format(d));出来的结果是:
    1970/0115所以,楼主还是可以按照我在7楼上方法去解。根本就没有必要去获取int型值。直接在查询里通过from_unixtime把这个中间的int转换出来就行了。无非是一段jdbc绑定调用而已。很简单的一段代码。如果楼主还是不知道如何做,不如把自己写的代码逻辑贴出来。
      

  9.   

    顺便说一句,java中描述一时间,要使用13位数字来描述,而不是10位。
      

  10.   

    我知道了,谢谢楼上的,我已经做出来了,Java是13位的,MYSQL存的是10位的所以要转换!!