postgresql - PostgreSQL,将数据类型从文本更改为日期
问题描述
我有一个 PostgreSQL 表,其中包含一列数据类型为“文本”的列,该列仅包含日期。
我正在尝试将其转换为日期类型,但它不起作用。
publication_date
-----------
"9/16/2006"
"9/1/2004"
"11/1/2003"
"5/1/2004"
"9/13/2004"
"4/26/2005"
"9/12/2005"
"11/1/2005"
"4/30/2002"
"8/3/2004"
ALTER TABLE books
ALTER COLUMN publication_date SET DATA TYPE date;
输出:
ERROR: column "publication_date" cannot be cast automatically to type date
HINT: You might need to specify "USING publication_date::date".
SQL state: 42804
解决方案
错误消息告诉您该怎么做:
ALTER TABLE books
ALTER COLUMN publication_date SET DATA TYPE date
USING to_date(publication_date, 'mm/dd/yyyy');
推荐阅读
- python - 我如何在python中生成一个随机数而不重复数字
- rust - 是否可以在 Rust 中将模式作为函数参数传递?
- c++ - c++ 错误:使用已删除的函数 boost::asio::io_context::io_context
- python - 删除与列表中的键对应的重复字典和排序值
- sql - 违反Oracle约束时,设置默认值?我该怎么做呢?
- javascript - 解析 JSON 的问题 - 以 application/x-www-form-urlencoded 形式发送的 ajax 请求
- c++ - C++ 数组在它应该在的地方不是空的
- c# - IBM MQ.NET 异步发送消息并 Commit()
- matplotlib - Matplotlib.pyplot:在 subplo 上绘制对角线
- cassandra - apache cassandra replication_factor 无法正常工作