我想将String类型插入到数据库中date类型的字段中去。比如2011/08/22 12:20 插入到date类型字段。

解决方案 »

  1.   

    to_date('2011/08/22 12:20','yyyy-mm-dd hh24:mi:ss')
      

  2.   

    只能是字符串类型用to_date()函数转化了,貌似没哟其他方法了。
      

  3.   

    这个不可以的问题是日期格式化参数与字符串不匹配to_date('2011/08/22 12:20', 'yyyy/mm/dd hh24:mi');
      

  4.   

    -- 日期字段都不知道怎么插入,赶紧回家过年吧...scott@TBWORA> create table t_cdate(id number(18,0), cdate date);表已创建。scott@TBWORA> insert into t_cdate(id,cdate) values(1,to_date('2011/08/22 12:20','YYYY/MM/DD hh24:mi'));已创建 1 行。scott@TBWORA> select * from t_cdate;        ID CDATE
    ---------- -------------------
             1 2011-08-22 12:20:00-- 你既然日期格式只指定到分钟(没有秒),你to_date()的时候,
    -- 其日期的格式化要与你提供折的字符串相一致撒
    -- 即:'2011/08/22 12:20'  与  'YYYY/MM/DD hh24:mi' 相一致!
      

  5.   

    好吧,我马虎了。这样也是不行滴,说什么不能从String转为datetime。数据库字段是date型,后台貌似是datetime呀,怎么办呀......
      

  6.   

    这么说吧,我数据库中字段类型是date,那么用to_date函数只能插入到2011/08/22,12:20就插不进去了,这是因为我字段类型的原因吗?
      

  7.   

    数据库里的DATE类型,实际上后台存储的时候,就是以DATETIME类型存储的。都是YYYYMMDDHH24MISS的格式。
    下面的语法是没问题的,你试试:
    create table t_cdate(id number(18,0), cdate date);
    insert into t_cdate(id,cdate) values(1,to_date('2011/08/22 12:20','YYYY/MM/DD hh24:mi:ss'));
      

  8.   

    估计是查询的时候没有进行转换
    这样试试
    select to_char(cdate,'yyyy/MM/dd hh24:mi') from t_cdate;
      

  9.   


    -- 日期有个插入格式和显示格式,这样的问题回答过无数次啦!
    -- 我求你:能不能先照我下面的操作去测试一遍,再来问问题,好不?
    scott@TBWORA> create table t_cdate(id number(18,0), cdate date);表已创建。scott@TBWORA> insert into t_cdate(id,cdate) values(1,to_date('2011/08/22 12:20','YYYY/MM/DD hh24:mi'));已创建 1 行。scott@TBWORA> select * from t_cdate;        ID CDATE
    ---------- -------------------
             1 2011-08-22 12:20:00scott@TBWORA> select to_char(cdate,'yyyy/mm/dd hh24:mi') from t_cdate;TO_CHAR(CDATE,'YYYY/MM/DDHH24:MI
    --------------------------------
    2011/08/22 12:20scott@TBWORA> select to_char(cdate,'yyyy-mm-dd hh24:mi:ss') from t_cdate;TO_CHAR(CDATE,'YYYY-MM-DDHH24:MI:SS')
    --------------------------------------
    2011-08-22 12:20:00scott@TBWORA> select * from t_cdate;        ID CDATE
    ---------- -------------------
             1 2011-08-22 12:20:00scott@TBWORA> alter session set nls_date_format='yyyy-mm-dd';会话已更改。scott@TBWORA> select * from t_cdate;        ID CDATE
    ---------- ----------
             1 2011-08-22