Mysql 使用啥字段类型用于包含完整日期和部分日期的日期
Posted
技术标签:
【中文标题】Mysql 使用啥字段类型用于包含完整日期和部分日期的日期【英文标题】:Mysql what field type to use for dates with a mix of full and part datesMysql 使用什么字段类型用于包含完整日期和部分日期的日期 【发布时间】:2009-06-29 22:12:20 【问题描述】:我有一个包含三个不同日期列的表,因此我将每个列设置为“日期”类型。
然而,每当我导入日期时,它似乎会改变它们,我发现这是因为 mysql 不允许空天和月份。
我的日期范围从
1909-00-00 1963-09-00 1907-11-30
所以有时我们不知道月份,有时不知道日期,有时只记录年份。
当然,“正确”的做法是使用某种日期字段,但我在导入数据时尝试了各种不同的布局,但无效:( dd-mm-yyyy mm-dd-yyyy 年年/日/月
有什么建议吗?
【问题讨论】:
【参考方案1】:没有数据结构可以充当日期,但允许任何组件使用 00。如果您真的坚持要模拟这一点,您可以将数据分成 3 列 - 年、月、日,然后编写一个复杂的触发器来验证每个更新/插入查询。
不过我不敢。然而,你问,我试图回答。 ;]
【讨论】:
【参考方案2】:我建议使用 varchar,然后在需要时将其转换为日期。 Here 是一个具有一些有用的日期功能的站点。
【讨论】:
谢谢birdlips,那也是我来的地方。不过我想知道,为什么对于具有空条目的日期没有函数或字段类型,这在历史应用程序中经常出现! 据我了解,数据库将尝试验证输入的日期。如果它无效,它将不允许您存储它。这是为了保持数据完整性。我认为您没有任何选项可以在日期字段中存储非日期值。以上是关于Mysql 使用啥字段类型用于包含完整日期和部分日期的日期的主要内容,如果未能解决你的问题,请参考以下文章
我的一个网站,mysql数据库里的,加入日期和最后登录日期,是一窜的数字,看不明白啥意思