通过java程序把日期类型转换成long存入sql表中
在sql库中怎样把long类型再转换成date类型

解决方案 »

  1.   

    7. String 和 Date ,Long 之间相互转换 (最常用)字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)
    通常我们取时间跨度的时候,会substring出具体时间--long-比较java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M/dd/yyyy hh:mm:ss a",java.util.Locale.US);
    java.util.Date d = sdf.parse("5/13/2003 10:31:37 AM");
    long dvalue=d.getTime();
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String mDateTime1=formatter.format(d);本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xinfei1019/archive/2009/04/05/4049910.aspx
      

  2.   

    DECLARE @A INT---DECIMAL---sql server中有long类型么?
    SET @A=20090626
    SELECT CAST(CAST(@A AS VARCHAR(10)) AS DATETIME)
    -----------------------
    2009-06-26 00:00:00.000(1 row(s) affected)
      

  3.   

    ALTER TABLE 数据表名称
    ALTER COLUMN 字段 date
      

  4.   

    这是java方法,我需要在sql中操作,用sql函数
      

  5.   

    不行啊,java转换完整日期后的long都是12位的eg:1245634484250,2L的方法只能将最多 8位的整型分隔成日期,这种转换后的long不识别呀……焦急,感谢各位热心帮助啊!
      

  6.   

    那就用decimal就可以了啊DECLARE @A DECIMAL---INT---sql server中有long类型么?
    SET @A=20090626
    SELECT CAST(CAST(@A AS VARCHAR(10)) AS DATETIME)
    -----------------------
    2009-06-26 00:00:00.000(1 row(s) affected)
      

  7.   

    DECLARE @A_Decimal DECIMAL---INT---sql server中有long类型么?
    DECLARE @A_String VARCHAR(30)SET @A_Decimal=20090626120000
    SET @A_String=CAST(@A_Decimal AS VARCHAR(30))SELECT convert(varchar(10),convert(DATETIME,left(@A_String,8),120),120)
    +' '+SUBSTRING(@A_String,9,2)
    +':'+SUBSTRING(@A_String,11,2)
    +':'++SUBSTRING(@A_String,13,2)-------------------------
    2009-06-26 12:00:00(1 row(s) affected)
      

  8.   

    哈哈,这个方法终于找到了
    SELECT CONVERT(char(10),DATEADD(second,1264470048000/1000,'19700101 08:00'),112)
    ok!谢了!