Yuj*_* Wu 5 postgresql datetime types ruby-on-rails-3
在rails中我创建了一个名为open_time的字符串列,但后来我意识到我应该使用datetime类型.我做到了
change_column :polls, :open_time, :datetime
Run Code Online (Sandbox Code Playgroud)
但它说:
PG::Error: ERROR: column "open_time" cannot be cast to type timestamp without time zone
: ALTER TABLE "polls" ALTER COLUMN "open_time" TYPE timestamp
Run Code Online (Sandbox Code Playgroud)
如果我只是删除字符串列并添加新的datetime列,我将丢失存储在字符串列中的数据.或者,在PostgreSQL中我添加列:
ALTER TABLE polls ADD COLUMN published_time timestamp;
Run Code Online (Sandbox Code Playgroud)
然后我试图从字符串列获取数据,如:
UPDATE polls SET published_time = strToTimeStamp(open_time);
Run Code Online (Sandbox Code Playgroud)
所以我的问题是有没有我可以使用的功能,因为strToTimeStamp
它可以将字符变化类型转换为时间戳而没有时区类型?
..是否有任何我可以用作strToTimeStamp的函数,可以将字符变化类型转换为时区而无时区类型?
使用to_timestamp()
改变柱到位的数据类型.
ALTER TABLE tbl ALTER COLUMN col TYPE timestamp
USING to_timestamp(col, '<your pattern here>');
Run Code Online (Sandbox Code Playgroud)
在这些非常相似的问题下更多:
更改到目前为止的字符字段
Cast varchar类型到目前为止
归档时间: |
|
查看次数: |
8352 次 |
最近记录: |