我在包含日期的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)
必须工作。