V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jianghu52
V2EX  ›  程序员

PostgreSQL 的默认时间格式,搞不定啊!!!

  •  
  •   jianghu52 · 2013-12-23 15:51:59 +08:00 · 9945 次点击
    这是一个创建于 3748 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用户不用mysql,可是用postgresql了。于是我这种小白开始来填坑了。
    最基础的一个问题。给PostgreSQL设置默认的时间字段。
    客户给的sql不能执行

    ALTER TABLE aaa ADD COLUMN PASSWORD_up_DATE TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS');

    报错说是 PASSWORD_up_DATE是TIMESTAMP类型的字段,但是插入的是varchar的数值。
    我改成

    ALTER TABLE aaa ADD COLUMN PASSWORD_up_DATE varchar(40) NOT NULL DEFAULT TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS');
    过了。
    我想请问的是如果要用timestamp 的话,要怎么写这个sql语句?
    3 条回复    1970-01-01 08:00:00 +08:00
    jianghu52
        1
    jianghu52  
    OP
       2013-12-23 15:55:43 +08:00
    PS:sql语句改成以下这样也可以,
    ALTER TABLE aaa ADD COLUMN PASSWORD_up_DATE TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT now();
    但是问题是 最后出来的时间格式是2013-12-23 15:47:10.138 这样的。不知道为什么会这样
    glongzh
        2
    glongzh  
       2013-12-23 17:27:12 +08:00
    将now()替换成LOCALTIMESTAMP(0)
    jianghu52
        3
    jianghu52  
    OP
       2013-12-23 17:40:56 +08:00
    @glongzh 好用。谢谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1041 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:32 · PVG 06:32 · LAX 15:32 · JFK 18:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.