我正在使用oracle作为我的数据库,我有一个taskdate列作为TIMESTAMP。它在数据库中保存的格式为 2015/5/29 10:27:04.000000 AM 。当我将其检索出来时,可以将其转换为 2015-05-29 这种格式吗?
答案 0 :(得分:2)
它在数据库中保存的格式是5/29/2015 10:27:04.000000 AM
日期/时间戳没有任何格式。 Oracle不会以您看到的格式存储日期/时间戳。您看到的格式仅适用于显示目的。 Date内部存储在7个字节中,这是Oracle的专有格式。
当我将其检索出来时,我可以将其转换为2015-05-29这种格式吗?
用于显示:
您需要使用 TO_CHAR 以及所需的格式模型以所需的格式显示。
例如,
SQL> SELECT SYSTIMESTAMP, TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD') my_tmstmp FROM DUAL;
SYSTIMESTAMP MY_TMSTMP
---------------------------------------- ----------
29-MAY-15 11.40.25.054000 AM +05:30 2015-05-29
SQL>
日期算术:
对于日期算术,您应将数据类型保留为日期本身。您可以使用 TRUNC 截断时间部分,只留下日期部分:
例如,
SQL> alter session set nls_date_format='YYYY-MM-DD';
Session altered.
SQL> SELECT SYSTIMESTAMP, TRUNC(SYSTIMESTAMP) my_tmstmp FROM DUAL;
SYSTIMESTAMP MY_TMSTMP
---------------------------------------- ----------
29-MAY-15 11.42.41.255000 AM +05:30 2015-05-29
SQL>
答案 1 :(得分:1)
当然,你可以。您可以使用“cast .. as date”将值转换为日期,然后将其截断(如果您希望将格式保留为日期)或使用to_char(如果希望将值作为字符)。 这两个选项的最终表达式可能是这样的:
TypeError: stc.$leftScrollArrow.add is not a function
at ElementsHandler.p.setElementReferences (scrolling-tabs.js:231)
at ElementsHandler.p.initElements (scrolling-tabs.js:170)
at __initTabsAfterTimeout (scrolling-tabs.js:525)
at angular-1.3.15.min.js:16298
at completeOutstandingRequest (angular-1.3.15.min.js:4924)
at angular-1.3.15.min.js:5312(anonymous function) @ angular-1.3.15.min.js:11654
或
SELECT TRUNC(CAST(column AS DATE)) FROM your_table...