我有一个数据库字段timestamp without timezone
,其值为2015-11-23 14:42:55.278
。
现在我想只使用日期部分2015-11-13
找到数据库记录。
这可能吗?
理想情况下使用hibernate和spring。
答案 0 :(得分:2)
如果您只想获取2015-11-13的那一天,那么您可以使用between
关键字并使用时间戳开头来获取所有记录。
dateField between 2015-11-13:<time_of_beginning_of_day> AND 2015-11-14:<time_of_beginning_of_next_day>
或
dateField between 2015-11-13:<time_of_beginning_of_day> AND 2015-11-13:<time_of_end_of_day>
答案 1 :(得分:2)
我不确定是否是性能方面的最佳方式,但您可以在2015-11-23 00:00:00.000
和2015-11-23 23:59:59.999
之间搜索日期
答案 2 :(得分:1)
您可以将列强制转换为日期,例如:
Postgres具体:
the_timestamp_column::date = date '2015-11-13'
或(标准SQL)
cast(the_timestamp_column as date) = date '2015-11-13'
您还可以使用date_trunc()
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC