首页 > 解决方案 > 如何接受 postgresql 中的任何日期?

问题描述

实际上我正在使用 AD 和 BS(我的国家的日期)。我已经在 postgresql 中将数据类型定义为日期。今天是 2075-02-30,突然出现 postgresql,date/time field value out of range: "2075-02-30"因为 2 月没有这个日期。如何配置 postgresql 以使其接受任何日期?

标签: postgresql

解决方案


PostgreSQL 的日期是指基于公历的实际时间点。您不能使用它们来存储来自其他日历(例如 2 月 30 日)的日期。

一种方法是将此字段保持为简单的varchar,可能带有检查约束来强制执行格式:

ALTER TABLE mytable ADD CONSTRAINT date_ck CHECK (mydate ~* '^\d\d\d\d-\d\d-\d\d$')

推荐阅读