Postgresql中的VARCHAR到DATE格式



我在包含日期的order_date列中有一个VARCHAR数据类型,我想将其转换为date格式,但空值除外。我该如何解决这个问题?

哪里有问题?

(2022-09-24 17:48:11) postgres=# select to_date('2022-07-08', 'YYYY-MM-DD');
┌────────────┐
│  to_date   │
╞════════════╡
│ 2022-07-08 │
└────────────┘
(1 row)
(2022-09-24 17:48:42) postgres=# select to_date(null, 'YYYY-MM-DD');
┌─────────┐
│ to_date │
╞═════════╡
│ ∅       │
└─────────┘
(1 row)

您需要使用TO_DATE(column_name,'YYYYMMDD')

指定varchar字段中日期的格式,将其作为TO_DATE函数的第二个输入参数

以及应用筛选器where column_name is not null

您可以参考本文档以获得进一步的参考。

PostgreSQL格式化函数提供了一套强大的工具用于转换各种数据类型。

您应该使用它们!

这是相关文档的链接:https://www.postgresql.org/docs/current/functions-formatting.html

以上内容取决于您的Postgres版本。但是,to_date(text, text)必须工作。

最新更新