gpt4 book ai didi

mysql - 在 Mysql 的日期类型中存储非公历日期

转载 作者:可可西里 更新时间:2023-11-01 07:58:45 24 4
gpt4 key购买 nike

我有一个 mysql 表,其中有一列为 date 类型。
我将在此列中存储非公历日期(即 Jalali 日期)。
我通过使用 phpMyadmin 并存储 Jalali 日期对此进行了测试,没有发生错误。
date 类型存储非公历日期是个好主意吗?
如果不;哪个更好?将其存储为 varchartimestamp 或时间戳 Int 或其他?

最佳答案

Is it a good idea to store non-Gregorian dates in date type?

没有。除了一个日历系统中的某些有效日期在另一个日历中不存在之外,在 DATE 类型的列上工作的函数可能无法正常工作。问题不仅仅是存储数据,您还需要处理这些数据,例如将它们与 CURDATE() 进行比较。

storing it as varchar or as timestamp or timestamp as Int or something else?

如果您选择了合适的格式,使用两位数表示月和日,使用静态位数表示年,字符串类型CHARVARCHAR 都可以。相互比较主题只是词法比较,您仍然可以编写函数或过程来扩展功能。

选择 TIMESTAMPDATE 会更改问题,因为前者代表特定时间,而后者代表日历中的特定条目。如果你想把时间放在日期旁边,它们的含义仍然不同。您应该考虑诸如夏令时更改之类的问题,这会导致一些人更喜欢输入日历条目 (DATE),而有些人更喜欢从 1970 年 1 月 1 日起经过的秒数 (TIMESTAMP)。例如根据当前的伊朗政府法律,在 Hijri Shamsi 日历中,1393-06-30 23:30:00 有两个时间戳。

关于mysql - 在 Mysql 的日期类型中存储非公历日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26668683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com