我目前在数据库中有一行有2个日期数据类型列。当我选择并获取这些列时,我只能看到' YYYY-MM-DD'我想知道是否有可能看到' HH:mm:ss'同样。 我还应该提到数据存在,因为我可以在进行选择时在分钟级别进行过滤。
+------------------+---------------------+---------------------+
| PATH | START_TIME | END_TIME |
+------------------+---------------------+---------------------+
| /a/b/c | 2015-07-13 | 2015-07-13 |
+------------------+---------------------+---------------------+
答案 0 :(得分:0)
https://phoenix.apache.org/language/datatypes.html#date_type
二进制表示是一个8字节长(从纪元开始的毫秒数),因此可以(尽管不一定推荐)在DATE列中存储比java.sql.Date提供的更多信息
https://docs.oracle.com/javase/7/docs/api/java/sql/Date.html
public int getHours() 已过时。 不推荐使用此方法,因为SQL Date值没有时间组件,所以不应使用此方法。
它们似乎存储了时间,但随后将日期检索到java.sql.Date
,其中没有时间组件。
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
在此定义了三类日期时间数据类型 国际标准:
- DATE - contains the <datetime field>s YEAR, MONTH, and DAY;
- TIME - contains the <datetime field>s HOUR, MINUTE, and SECOND;
and
- TIMESTAMP - contains the <datetime field>s YEAR, MONTH, DAY,
HOUR, MINUTE, and SECOND.
此外,SQL规范不支持Date列中的时间组件。我建议使用Timestamp列来符合SQL规范。