Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
Xml Oracle DB-在数据库中保存时间戳_Xml_Database_Oracle - Fatal编程技术网

Xml Oracle DB-在数据库中保存时间戳

Xml Oracle DB-在数据库中保存时间戳,xml,database,oracle,Xml,Database,Oracle,我正在接收XML数据,并希望保存该值 “2019-11-15T03:22:45.254+01:00”输入我的时间戳(6)数据库列 如何转换它?您需要修改您的表,添加一个新的带有时区的时间戳(请注意语法)。下面是语法示例: ALTER TABLE test_table ADD timestamp_tz_col TIMESTAMP (2) WITH TIME ZONE; 带有时区的时间戳数据类型有其自己的to_TIMESTAMP函数风格。它被称为to\u timestamp\u tz 您的inse

我正在接收XML数据,并希望保存该值 “2019-11-15T03:22:45.254+01:00”输入我的时间戳(6)数据库列


如何转换它?

您需要修改您的表,添加一个新的带有时区的时间戳(请注意语法)。下面是语法示例:

ALTER TABLE test_table
ADD timestamp_tz_col TIMESTAMP (2) WITH TIME ZONE;
带有时区的
时间戳
数据类型有其自己的
to_TIMESTAMP
函数风格。它被称为
to\u timestamp\u tz

您的
insert
查询将如下所示:

INSERT INTO test_table (timestamp_tz_col)
VALUES (to_timestamp_tz('2019-11-15T03:22:45.254 +01:00', 'YYYY-MM-DD"T"HH:MI:SS.FF TZH:TZM') );

您需要修改表格,添加一个新的带有时区的时间戳(请注意语法)。下面是语法示例:

ALTER TABLE test_table
ADD timestamp_tz_col TIMESTAMP (2) WITH TIME ZONE;
带有时区的
时间戳
数据类型有其自己的
to_TIMESTAMP
函数风格。它被称为
to\u timestamp\u tz

您的
insert
查询将如下所示:

INSERT INTO test_table (timestamp_tz_col)
VALUES (to_timestamp_tz('2019-11-15T03:22:45.254 +01:00', 'YYYY-MM-DD"T"HH:MI:SS.FF TZH:TZM') );

您将无法在
时间戳(6)
数据类型列中拟合您的值,您需要使用带时区的
时间戳(6)
数据类型列来保存此值,否则您将丢失时区

SQL> CREATE TABLE YOUR_TABLE(YOUR_TS_COL TIMESTAMP(6) WITH TIME ZONE);

Table created.

SQL> INSERT INTO YOUR_TABLE VALUES ( TO_TIMESTAMP_TZ('2019-11-15T03:22:45.254 +01:00', 'YYYY-MM-DD"T"HH:MI:SS.FF TZH:TZM') );

1 row created.

SQL> SELECT * FROM YOUR_TABLE;

YOUR_TS_COL
---------------------------------------------------------------------------
15-NOV-19 03.22.45.254000 AM +01:00

SQL>
仅使用带有
时间戳(6)
的列的示例--您将丢失时区

SQL> DROP TABLE YOUR_TABLE;

Table dropped.

SQL> CREATE TABLE YOUR_TABLE(YOUR_TS_COL TIMESTAMP(6));

Table created.

SQL> INSERT INTO YOUR_TABLE VALUES ( TO_TIMESTAMP_TZ('2019-11-15T03:22:45.254 +01:00', 'YYYY-MM-DD"T"HH:MI:SS.FF TZH:TZM') );

1 row created.

SQL> SELECT * FROM YOUR_TABLE; 

YOUR_TS_COL
---------------------------------------------------------------------------
15-NOV-19 03.22.45.254000 AM

SQL> 

干杯

您将无法在
时间戳(6)
数据类型列中拟合您的值,您需要将
时间戳(6)与时区一起使用
数据类型列来保存此值,否则您将丢失时区

SQL> CREATE TABLE YOUR_TABLE(YOUR_TS_COL TIMESTAMP(6) WITH TIME ZONE);

Table created.

SQL> INSERT INTO YOUR_TABLE VALUES ( TO_TIMESTAMP_TZ('2019-11-15T03:22:45.254 +01:00', 'YYYY-MM-DD"T"HH:MI:SS.FF TZH:TZM') );

1 row created.

SQL> SELECT * FROM YOUR_TABLE;

YOUR_TS_COL
---------------------------------------------------------------------------
15-NOV-19 03.22.45.254000 AM +01:00

SQL>
仅使用带有
时间戳(6)
的列的示例--您将丢失时区

SQL> DROP TABLE YOUR_TABLE;

Table dropped.

SQL> CREATE TABLE YOUR_TABLE(YOUR_TS_COL TIMESTAMP(6));

Table created.

SQL> INSERT INTO YOUR_TABLE VALUES ( TO_TIMESTAMP_TZ('2019-11-15T03:22:45.254 +01:00', 'YYYY-MM-DD"T"HH:MI:SS.FF TZH:TZM') );

1 row created.

SQL> SELECT * FROM YOUR_TABLE; 

YOUR_TS_COL
---------------------------------------------------------------------------
15-NOV-19 03.22.45.254000 AM

SQL> 

干杯

格式字符串错误!我需要转换“2019-11-15T03:22:45.254+01:00”,我只是用示例编辑了答案…你能提到你想要结果的实际格式吗?例如:“MM/DD/YYYY HH24:MI:SS.FF3”?“2019-11-15T03:22:45.254+01:00”这个字符串需要保存到时间戳中(6)数据库列是否为这种格式:时间戳“YYYY-MM-DD HH24:MI:SS.FF TZH:TZM”?我已更新应答格式必须是
'YYYY-MM-DD“T”HH24:MI:SS.FFTZH:TZM'
格式字符串错误!我需要转换“2019-11-15T03:22:45.254+01:00”,我只是用示例编辑了答案…你能提到你想要结果的实际格式吗?例如:“MM/DD/YYYY HH24:MI:SS.FF3”?“2019-11-15T03:22:45.254+01:00”这个字符串需要保存到时间戳中(6)数据库列是否为这种格式:时间戳“YYYY-MM-DD HH24:MI:SS.FF TZH:TZM”?我已更新应答格式必须为
'YYYY-MM-DD“T”HH24:MI:SS.FFTZH:TZM'