Xml Oracle DB-在数据库中保存时间戳
我正在接收XML数据,并希望保存该值 “2019-11-15T03:22:45.254+01:00”输入我的时间戳(6)数据库列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
如何转换它?您需要修改您的表,添加一个新的带有时区的时间戳(请注意语法)。下面是语法示例:
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'