在Oracle SQL中转换日期时间格式
我的日期格式为:在Oracle SQL中转换日期时间格式,sql,oracle,datetime,Sql,Oracle,Datetime,我的日期格式为:2016年7月13日14:38:39969962+00:00 我想要这种格式的日期DD/MM/YYYY HH:MM:SS 我使用了以下请求: select to_date('13-JUL-2016 14:38:39,969962 +00:00',DD/MM/YYYY HH:MM:SS) from dual 但我收到了以下错误: 16:57:51 ORA-01036:非法变量名称/编号 输入字符串太长,无法进入日期,因此我认为您需要将其设置为时间戳,然后设置为\u char,以获
2016年7月13日14:38:39969962+00:00
我想要这种格式的日期DD/MM/YYYY HH:MM:SS
我使用了以下请求:
select to_date('13-JUL-2016 14:38:39,969962 +00:00',DD/MM/YYYY HH:MM:SS) from dual
但我收到了以下错误:
16:57:51 ORA-01036:非法变量名称/编号
输入字符串太长,无法进入
日期
,因此我认为您需要将其设置为时间戳,然后设置为\u char
,以获得所需的日期格式:
select to_char
( to_timestamp_tz('13-JUL-2016 14:38:39,969962 +00:00','DD-MON-YYYY HH24:MI:SS,FF TZH:TZM')
, 'DD/MM/YYYY HH24:MI:SS' ) as converted_date
from dual;
CONVERTED_DATE
-------------------
13/07/2016 14:38:39
输入字符串太长,无法进入
日期
,因此我认为您需要将其设置为时间戳,然后设置为\u char
,以获得所需的日期格式:
select to_char
( to_timestamp_tz('13-JUL-2016 14:38:39,969962 +00:00','DD-MON-YYYY HH24:MI:SS,FF TZH:TZM')
, 'DD/MM/YYYY HH24:MI:SS' ) as converted_date
from dual;
CONVERTED_DATE
-------------------
13/07/2016 14:38:39
如果满足以下条件,可以将输出格式化为
char
:
select
to_char(to_date(substr('13-JUL-2016 14:38:39,969962 +00:00',1,20), 'DD-MON-YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS') as char_date_format
from dual;
输出:
CHAR_DATE_FORMAT
-------------------
13/07/2016 14:38:39
如果满足以下条件,可以将输出格式化为
char
:
select
to_char(to_date(substr('13-JUL-2016 14:38:39,969962 +00:00',1,20), 'DD-MON-YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS') as char_date_format
from dual;
输出:
CHAR_DATE_FORMAT
-------------------
13/07/2016 14:38:39
格式字符串周围需要单引号。您没有引用格式,因此您正在执行
dd除以mm除以yyyy
等操作,dual
中不存在这些“字段”。当然,您的格式与输入字符串不匹配,因此即使您引用了格式,它也无法首先解析您的日期字符串。您需要在格式字符串周围加上单引号。您没有引用格式,因此执行的是dd除以mm除以yyyy
等操作,并且没有这些“字段”存在于dual
中。当然,您的格式与输入字符串不匹配,因此即使您引用了格式,它也无法首先解析您的日期字符串。