Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如果时间部分是可选的,如何在数据库中存储datetime?_Postgresql_Datetime_Timestamp_Schema - Fatal编程技术网

Postgresql 如果时间部分是可选的,如何在数据库中存储datetime?

Postgresql 如果时间部分是可选的,如何在数据库中存储datetime?,postgresql,datetime,timestamp,schema,Postgresql,Datetime,Timestamp,Schema,我应该将其存储在单个时间戳/日期时间字段还是单独的日期和时间字段中?我更喜欢将其存储为单个时间戳字段,但我需要知道用户何时没有输入时间部分 如何最好地将其存储在数据库中?我正在使用postgresql。显而易见的答案是使用两个单独的字段;然后可以使用空值 如果您选择使用一个字段,则需要选择一个表示未输入实时的神奇时间部分,这有与实时重合的危险,尽管可能性不大 此外,如果您打算经常单独使用日期和时间部分,那么使用单独的字段也可能很方便;否则,您通常需要使用选择函数来提取字段的相关部分。显而易见的答

我应该将其存储在单个时间戳/日期时间字段还是单独的日期和时间字段中?我更喜欢将其存储为单个时间戳字段,但我需要知道用户何时没有输入时间部分


如何最好地将其存储在数据库中?我正在使用postgresql。

显而易见的答案是使用两个单独的字段;然后可以使用空值

如果您选择使用一个字段,则需要选择一个表示未输入实时的神奇时间部分,这有与实时重合的危险,尽管可能性不大


此外,如果您打算经常单独使用日期和时间部分,那么使用单独的字段也可能很方便;否则,您通常需要使用选择函数来提取字段的相关部分。

显而易见的答案是使用两个单独的字段;然后可以使用空值

如果您选择使用一个字段,则需要选择一个表示未输入实时的神奇时间部分,这有与实时重合的危险,尽管可能性不大


此外,如果您打算经常单独使用日期和时间部分,那么使用单独的字段也可能很方便;否则,您通常需要使用选择函数来提取字段的相关部分。

这肯定是一个不好的主意。你的选择有限也是有原因的。这是一个坏主意,因为它是一个单独的数据项,更实际的原因是,如果有两个字段,就不能存储时区

如上所述,空值是使用两个字段的明显好处

您可能还想考虑使用一个单独的DATETIME字段,并存储一个标志来指示用户是否输入了一个时间。这可能是一个布尔标志。但是,您仍然需要考虑如何使用这些数据—仅在datetime字段中输入日期将导致时间组件设置为午夜。这将对排序和选择产生影响。此外,如果要存储时区,则在使用数据时必须非常小心


为了满足您了解是否输入了时间的要求,您需要有两个字段。不过,不需要第二个字段作为时间

这绝对是个坏主意。你的选择有限也是有原因的。这是一个坏主意,因为它是一个单独的数据项,更实际的原因是,如果有两个字段,就不能存储时区

如上所述,空值是使用两个字段的明显好处

您可能还想考虑使用一个单独的DATETIME字段,并存储一个标志来指示用户是否输入了一个时间。这可能是一个布尔标志。但是,您仍然需要考虑如何使用这些数据—仅在datetime字段中输入日期将导致时间组件设置为午夜。这将对排序和选择产生影响。此外,如果要存储时区,则在使用数据时必须非常小心


为了满足您了解是否输入了时间的要求,您需要有两个字段。不过,不需要第二个字段作为时间

我在许多论坛上读到过这样的文章,它们说单独的领域是个坏主意。我问这个问题的原因是因为我担心使用单独的字段可能会有隐藏的缺点。但从你提到的几点来看,我认为这是更好的选择?我在许多论坛上读到,说单独的领域是个坏主意。我问这个问题的原因是因为我担心使用单独的字段可能会有隐藏的缺点。但从你提到的几点来看,我认为这是更好的选择?有趣的是,如果我使用一个带有时区信息的时间戳字段和一个布尔值来存储数据,你说我在使用数据时必须非常小心是什么意思?对于长时间的延迟表示歉意-你需要始终小心,因为你的数据将包含设置为某个时区午夜某个日期的时间戳。这些将是用户未输入时间的日期。排序和比较会将其视为午夜非空,在跨时区比较中,这可能会导致两个时间被视为不同,而实际上只有两个日期。你只需要注意这个问题。有趣的是,如果我使用一个带有时区信息的时间戳字段和一个布尔值来存储数据,你说我在使用数据时必须非常小心是什么意思?对于长时间的延迟表示歉意-你需要始终小心,因为你的数据将包含设置为某个时区午夜某个日期的时间戳。这些将是用户未输入时间的日期。排序和比较会将其视为午夜非空,而在跨时区比较中,这可能会导致在实际 你只有两次约会。你只需要保持对这个问题的意识。