Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Sql 修改现有的字符日期格式_Sql_Oracle_Peoplesoft - Fatal编程技术网

Sql 修改现有的字符日期格式

Sql 修改现有的字符日期格式,sql,oracle,peoplesoft,Sql,Oracle,Peoplesoft,Oracle SQL会自动将我的字段D.START_DT转换为以下格式: TO_CHAR(D.START_DT,'YYYY-MM-DD') 这使得我很难修改自己的日期格式 我试着用另一个来包装它,但运气不好 TO_CHAR(TO_CHAR(D.START_DT,'YYYY-MM-DD'), 'MM/DD') 我尝试了SUBSTR来选择某些字符,但运气不好。我认为连字符正变得越来越复杂 SUBSTR(TO_CHAR(D.START_DT,'YYYY-MM-DD'), 6, 7) || '/'

Oracle SQL会自动将我的字段D.START_DT转换为以下格式:

TO_CHAR(D.START_DT,'YYYY-MM-DD')
这使得我很难修改自己的日期格式

我试着用另一个
来包装它,但运气不好

TO_CHAR(TO_CHAR(D.START_DT,'YYYY-MM-DD'), 'MM/DD')
我尝试了
SUBSTR
来选择某些字符,但运气不好。我认为连字符正变得越来越复杂

SUBSTR(TO_CHAR(D.START_DT,'YYYY-MM-DD'), 6, 7) || '/' || SUBSTR(TO_CHAR(D.START_DT,'YYYY-MM-DD'), 9, 10)

解决方法是什么?

日期数据类型没有格式。当你看到一个日期打印在屏幕上,有一些东西应用了你看到的格式。可以是您正在使用的程序(如SQL Developer)中的“默认值”或NLS设置等。但是,日期数据类型没有格式。所以,您可以完全控制屏幕上显示的格式

最简单的方法是使用to_CHAR函数:

从dual中选择TO_CHAR(D.START_DT,'YYYY')

只返回四位数的年份

请参阅查看字符日期格式选项


您应该始终在代码中提供格式,而不是依赖其他“默认值”来提供格式。

我同意RMAN Express,并且认为将日期转换为您需要的任何格式都不会有问题。。。 如果您仍然有问题,请尝试以下操作(可选择在外部查询中首先添加字符):


您能使用Oracle的函数吗?到目前为止,我还不能。您可以将默认格式更改为您想要的任何格式:不确定您所说的“Oracle SQL自动将我的字段D.START\u DT转换为xxxx”是什么意思如果您的字段是日期类型,那么为什么您可以使用您需要的格式将其直接传递到日期函数。请澄清您的问题并显示要执行的完整初始SQL查询。原因:to_CHAR(to_CHAR(D.START_DT,'YYYY-MM-DD'),'MM/DD')?为什么不使用:TO_CHAR(D.START_DT,'MM/DD')?你到底想做什么?@discoinfilterator,因为它将
转换为\u CHAR(D.START\u DT,'MM/DD')
转换为
转换为\u CHAR(D.START\u DT,'yyyyy-MM-DD'),'MM/DD')
SELECT to_char(to_date(some_date, 'YYYY-MM-DD'), 'MM/DD') final_date
  FROM
  (
  SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') some_date -- this is your "auto converted" date 
   FROM dual
  )
 /