c# - DOB(date) 错误地保存在 Oracle DB 中
问题描述
我正在开发一个需要保存出生日期的 Web API。当我保存日期 02-05-1929 时,我遇到了一个奇怪的行为。但它在 oracle db 中被保存为 02-05-2029。我意识到它发生在 1950 年之前的所有日期。谁能帮我理解它为什么会发生
解决方案
由于它是一个 Web API,我假设您将日期作为字符串获取。您大概将它存储在 datatype 的列中DATE
。您需要控制从 string 到 的转换DATE
,最好自己提供日期格式:
INSERT INTO TABLE my_table(..., my_date, ...)
VALUES(..., TO_DATE(my_datestring,'DD-MM-YYYY'), ...)
推荐阅读
- rust - 匹配宏中的多个枚举类型
- tensorflow - 尺寸必须等于误差,但它们是相等的
- javascript - Day.js 从本周日或本周日获取当前日期?
- java - 在 Windows 10 上的 WSL2 上使用 JDK 的正确方法是什么?
- php - 属性 [livewire] 不存在
- python - Apache Beam 数据流管道 - 具有高 Wall time 的简单 DoFn
- reactjs - 在 React 中使用 Firebase Auth 创建新用户时出现内部错误
- python - 协助 Python 3.x 上的测量转换程序
- reactjs - 渲染一个动态加载的 React 组件
- python - 将大容量数据从 pandas df 插入到 postgresql 时出现语法错误