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中将此日期格式1970-01-01T00:00:00-08:00转换为仅dd/mm/yyyy。但是通过使用下面的查询i';我在转换中出错了_Oracle_Date - Fatal编程技术网

我想在oracle中将此日期格式1970-01-01T00:00:00-08:00转换为仅dd/mm/yyyy。但是通过使用下面的查询i';我在转换中出错了

我想在oracle中将此日期格式1970-01-01T00:00:00-08:00转换为仅dd/mm/yyyy。但是通过使用下面的查询i';我在转换中出错了,oracle,date,Oracle,Date,我正在使用这个查询 SELECT CAST(TO_TIMESTAMP_TZ(REPLACE('1970-01-01T00:00:00-08:00', 'T', ''), 'YYYY-MM-DD HH:MI:SS TZH:TZM') AS DATE) DOB FROM dual; 输出为 ORA-01849:小时必须介于1和12 01849之间。00000-“必须是一小时 在1到12英寸之间 我只需要输出为MM/DD/YY

我正在使用这个查询

SELECT CAST(TO_TIMESTAMP_TZ(REPLACE('1970-01-01T00:00:00-08:00', 'T', ''), 
                                    'YYYY-MM-DD HH:MI:SS TZH:TZM') AS DATE) DOB FROM dual;
输出为

ORA-01849:小时必须介于1和12 01849之间。00000-“必须是一小时 在1到12英寸之间


我只需要输出为
MM/DD/YYYY
时间格式为24小时,因此修复方法是使用
HH24
而不是
HH

SELECT CAST(TO_TIMESTAMP_TZ(
    REPLACE('1970-01-01T00:00:00-08:00', 'T', ''),
    'YYYY-MM-DD HH24:MI:SS TZH:TZM') AS DATE) DOB 
FROM dual;
但是,您可以在模式中使用literal
“T”
,而不是使用replace:

SELECT CAST(
    TO_TIMESTAMP_TZ('1970-01-01T00:00:00-08:00', 
        'YYYY-MM-DD"T"HH24:MI:SS TZH:TZM') 
    AS DATE) DOB FROM dual;
请注意,演员只需删除时区信息。如果需要将时间戳转换为特定时区的日期(例如+04:00),请使用
时区时间戳
中的
子句

SELECT CAST(
    TO_TIMESTAMP_TZ('1970-01-01T00:00:00-08:00', 
        'YYYY-MM-DD"T"HH24:MI:SS TZH:TZM') 
    at time zone '+04:00' AS DATE) DOB FROM dual;
更多信息,请访问:


由于您希望以
MM/DD/YYYY
格式输出,请直接使用时间戳上的字符:

SELECT to_char(
    TO_TIMESTAMP_TZ('1970-01-01T00:00:00-08:00', 
        'YYYY-MM-DD"T"HH24:MI:SS TZH:TZM') 
    at time zone '+04:00', 'MM/DD/YYYY') DOB FROM dual;