如何在SQL数据库(postgres)中最好地存储格式为yyyy-MM-dd(没有时间声明)的字符串?
我后来想要将该字符串始终用作Date
类型。我还想对数据库执行查询,以便为我提供该日期之前或之后的记录。
yyyy-MM-dd HH:mm:ss
。我怎么能阻止时间宣告?答案 0 :(得分:3)
始终建议使用带时间戳的日期。如果您不需要,那么在存储时将其存储为00:00:00。(使用Sql Date作为没有时间戳的日期。)
使用业务逻辑来截断所需的时间和格式。您可以使用日期和大多数数据库中的服务层来更好地存储带有时间戳的日期。
答案 1 :(得分:2)
如果您不想存储时间组件,请使用DATE数据类型。它没有时间或时区组成部分,因此对于出生日期,就业开始/结束日期以及与时间无关的其他数据非常有用。
http://www.postgresql.org/docs/9.3/static/datatype-datetime.html
显示格式是应用程序的问题 - 只需使用正确的数据类型。但YYYY-MM-DD被记录为提供日期的最佳格式。