首页 > 解决方案 > DOB(date) 错误地保存在 Oracle DB 中

问题描述

我正在开发一个需要保存出生日期的 Web API。当我保存日期 02-05-1929 时,我遇到了一个奇怪的行为。但它在 oracle db 中被保存为 02-05-2029。我意识到它发生在 1950 年之前的所有日期。谁能帮我理解它为什么会发生

标签: c#oracleasp.net-web-apioracle11g

解决方案


由于它是一个 Web API,我假设您将日期作为字符串获取。您大概将它存储在 datatype 的列中DATE。您需要控制从 string 到 的转换DATE,最好自己提供日期格式:

INSERT INTO TABLE my_table(..., my_date, ...)
VALUES(..., TO_DATE(my_datestring,'DD-MM-YYYY'), ...)

推荐阅读