我如何格式化列

问题描述 投票:0回答:2

我想在oracl 10g中格式化一列它的类型是日期我只想告诉我几个小时和几分钟任何带有alter ..

的解决方案

感谢

sql oracle10g
2个回答
0
投票

假设这是您现在拥有的:

SQL> alter session set nls_date_format = 'ddmmyy';

Session altered.

SQL> select sysdate from dual;

SYSDAT
------
131019

一个选项是使用TO_CHAR

SQL> select to_char(sysdate, 'dd.mm.yyyy hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'DD
-------------------
13.10.2019 08:46:16

SQL>

但是需要您总是使用它;另一个是alter session并设置所需的格式掩码(可能是您想要的格式):

SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';

Session altered.

SQL> select sysdate from dual;

SYSDATE
-------------------
13.10.2019 08:45:50

SQL> select min(hiredate) from emp;

MIN(HIREDATE)
-------------------
17.12.1980 00:00:00

SQL>

0
投票

如果您只想显示timestamp字段中的小时/分钟,则可以使用:

select to_char( sysdate, 'HH-MI' ) as sysdate_format from dual;

Date/Time Formatting in Oracle

© www.soinside.com 2019 - 2024. All rights reserved.