以下查询返回:
select logical_date from logical_date;
4/24/2016
使用TRUNC()我得
SELECT TRUNC(select logical_date from logical_date)
FROM DUAL;
ORA-00936: missing expression
logical_date仅提供日期而非时间
答案 0 :(得分:3)
DATE
始终有一个日期和时间组件 - 有时客户端界面将设置为仅显示部分数据(即仅显示日期组件)。
NLS_DATE_FORMAT
决定了日期的格式。您可以使用查询找到当前格式:
SELECT VALUE
FROM NLS_SESSION_PARAMETERS
WHERE PARAMETER = 'NLS_DATE_FORMAT';
在您的情况下,格式掩码似乎设置为MM/DD/YYYY
。
您可以使用以下方式更改日期格式:
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
(或您希望使用的任何格式掩码)。
然后你可以做
select logical_date from logical_date;
将输出如下内容:
24-APR-2016 11:22:33
或
select TRUNC( logical_date ) from logical_date;
将输出:
24-APR-2016 00:00:00
答案 1 :(得分:2)
使用此功能的最佳方式是jarlh在此类评论中提出的建议
SELECT TRUNC(logical_date) from logical_date
但是如果你绝对希望以你想要的方式使用它,那就用这样的东西
SELECT TRUNC((select logical_date from logical_date)) as logical_date
FROM DUAL;