1

我一直在考虑这两个选项:

选项A: 使用DATETIME字段并在从字段中拉出后将其转换为xsd格式

选项 B: 使用VARCHAR字段并将其转换为 xsd 格式,然后再将其插入字段

也许这两个选项同样有效,但也许还有一个我还没有考虑过的选项 C。

如果它有所作为,那就是我正在制作的桌子的要求。该字段的数据定义如下:

A date in xsd:dateTime format: [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]

例子: 2001-10-26T21:32:52

我将使用 php 来读取和写入这个数据库,我知道 mysql 和 php 都有大量的日期/时间函数。

在这种情况下,最好的数据类型和读/写方法是什么?

4

1 回答 1

2

这取决于您需要对该专栏做什么,以及您要进入的内容。

例如,如果您必须在查询中操作值,那么 aDATETIME看起来不错,但是如果您需要将其输出回 XSD,那么时区中的信息是否相关?因为即使您使用 正确阅读CONVERT_TZ(),日期时间列也会丢失您的信息。

因此,如果您需要“时间点”,请将其转换为 UTC 并将其存储为日期时间。如果您还需要以相同方式重新生成它,请将 TZ 存储在辅助列中。

如果你对这些信息什么都不做,那就保持原样VARCHAR——你仍然可以改变想法。“仅限日期时间列”是您无法摆脱的唯一选择。

于 2012-11-02T19:56:12.947 回答