Oracle 如何将sysdate格式化为YYYY/MM/DD,并且仍然是日期?
当我运行此代码时:Oracle 如何将sysdate格式化为YYYY/MM/DD,并且仍然是日期?,oracle,date,format,Oracle,Date,Format,当我运行此代码时: select trunc(TO_DATE(sysdate,'YYYY/MM/DD'),'Day')-43 from dual Oracle返回: 28/06/0027 我用“天”来表示trunc参数,因为我想从本周开始算起43天。我需要的数据格式是2015/07/11,数据输入为日期,而不是字符或其他任何东西。我之所以需要它,是因为我正在使用日期对具有YYYY/MM/DD格式的日期列的表进行筛选 如何让上面的SQL以日期形式输出YYYY/MM/DD?查看日期的格式由参数N
select trunc(TO_DATE(sysdate,'YYYY/MM/DD'),'Day')-43 from dual
Oracle返回:
28/06/0027
我用“天”来表示trunc参数,因为我想从本周开始算起43天。我需要的数据格式是2015/07/11,数据输入为日期,而不是字符或其他任何东西。我之所以需要它,是因为我正在使用日期对具有YYYY/MM/DD格式的日期列的表进行筛选
如何让上面的SQL以日期形式输出YYYY/MM/DD?查看日期的格式由参数NLS\U date\U format控制 请随意更改。试试这个
alter session set nls_date_format = 'YYYY/MM/DD';
select sysdate from dual;
我的答案不是集中在你想要的日期的价值上。我已经回答了关于格式的主要问题
如果您需要更多帮助,请随时发表意见。您的要求毫无意义。日期没有格式,它有一个内部二进制表示形式,不能被人类读取。表示日期的varchar2具有格式。如果需要日期数据类型,则不能有格式。如果希望字符串以某种方式格式化,则不能有日期。如果需要日期,请输入truncsysdate-43。