1

我目前在我的数据库中有一行包含 2 个日期数据类型列。当我进行选择并取回这些列时,我只能看到“YYYY-MM-DD”,我想知道是否也可以看到“HH:mm:ss”。我还应该提到数据在那里,因为我可以在进行选择时在分钟级别进行过滤。

+------------------+---------------------+---------------------+
|      PATH        |     START_TIME      |      END_TIME       | 
+------------------+---------------------+---------------------+
| /a/b/c           | 2015-07-13          | 2015-07-13          | 
+------------------+---------------------+---------------------+
4

1 回答 1

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 日期值没有时间组件。

他们似乎存储了时间,但随后检索了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 规范。

于 2016-02-07T23:21:29.890 回答