PostgreSQL 时间的问题 100分
原来用MySQL数据库的,时间列是用datatime的 显示时间格式是YYYY-MM-DD hh:mm:ss的
现在换PostgreSQL数据库了 时间的类型我查了下 有timestamp with time zone类型和timestamp without time zone类型
timestamp with time zone类型显示的是"2010-04-13 09:37:11.89+09" 最后有个时区的显示,格式也不对
timestamp without time zone类型显示的是虽然是YYYY-MM-DD hh:mm:ss格式,
但是我现在假如设定了时间列的类型为timestamp without time zone,我更新现在时间update xx set dt=now() 结果秒的位置出来了好几位 比如2010-04-13 09:37:11.265
我知道可以用 SET updatedt= CAST(to_char(now(), 'YYYY/MM/DD HH24:MI:SS') As timestamp without time zone)
这种方式来转换,但是有没有能够在建表的时候 能够和MySQL的datatime一样的类型呢 更新的时候set dt=now() 时间也是YYYY-MM-DD hh:mm:ss格式
主要是我不太想动SQL文了 如果要这么转换太麻烦了
请教大虾们~~
[解决办法]
timestamp是精确到毫秒级,小数点后面是表示毫秒。
应该不影响你的应用,大部分的客户端软件表示时间都精确到秒,所以传送到客户端都会截取到秒。
[解决办法]
测试了一下,确实是这样,搜索了一下,似乎POSTGRESQL要准确到毫秒
[解决办法]
客户端都可以自动截短的。
[解决办法]
用字符串类型吧。
[解决办法]
ALTER TABLE "EE" ADD COLUMN "DD" timestamp(0) without time zone;
这样就OK了
[解决办法]