Lo *_*rri 2 postgresql datetime type-conversion postgresql-9.1
我想将PostgreSQL数据库中的特定列从character_varying
类型更改为类型date
.日期采用格式yyyy:mm:dd
我试着这样做:
alter table table_name
alter column date_time type date using (date_time::text::date);
Run Code Online (Sandbox Code Playgroud)
但我收到一条错误消息:
日期/时间字段值超出范围:"2011:06:15"
当你施放text
或varchar
到date
您的安装的默认日期格式预期-这取决于datestyle
你的设置postgresql.conf
.
通常,冒号(:
)是一个时间分隔符,在简单的演员表中,PostgreSQL可能会尝试将'2011:06:15'解释为时间 - 并且失败.
要删除歧义,请使用to_date()
匹配的日期模式:
ALTER TABLE table_name
ALTER COLUMN date_time type date
USING to_date(date_time, 'YYYY:MM:DD'); -- pattern for your example
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12435 次 |
最近记录: |