首页 > 解决方案 > 如何在oracle数据库表中存储双冒号值

问题描述

我有excel我想在 oracle 数据库表中导入的。

excel中的一些值由例如14:39.5双冒号组成。我应该在 oracle 数据库表中提供什么数据类型来存储这个值?

目前已给出varchar数据类型,并在导入过程中引发错误:

Conversion error! Value: "00:12:01.615518000" to data type: "Number". Row ignored! Value is '00:12:01.615518000'. Cannot be converted to a decimal number object. Valid format: 'Unformatted'

标签: exceloraclesqldatatypesvarchar2

解决方案


您可以将其存储为INTERVAL DAY(0) TO SECOND(9)数据类型:

CREATE TABLE table_name (
  time INTERVAL DAY(0) TO SECOND(9)
);

然后你可以使用在开头TO_DSINTERVAL传递你的值:'0 '

INSERT INTO table_name (time)
VALUES ( TO_DSINTERVAL('0 ' || '00:12:01.615518000') );

db<>在这里摆弄


推荐阅读