Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何将sysdate格式化为YYYY/MM/DD,并且仍然是日期?_Oracle_Date_Format - Fatal编程技术网

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。