【发布时间】:2015-08-22 04:58:41
【问题描述】:
我尝试将旧时间 char(8) 列转换为新的 time_conv 日期列。
String 列的格式如下:
时 (0-99):分 (0-59):秒 (0:59)
例如:01:32:56
以下代码对我不起作用:
update teldat set time_conv=to_date(time,'hh24:mi:ss');
编辑:
CREATE TABLE teldat(
datum DATE,
uhrzeit CHAR(8),
time CHAR(8),
teilnehmer NUMBER(3),
verbart NUMBER(1),
aufbauart CHAR(3),
ziel VARCHAR(15));
alter table teldat add (time_conv date);
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'17:33 ', '00:00:40',10,9, 'K10', NULL);
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'18:50 ', '00:01:41',13,9, 'K10', NULL);
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'19:10 ', '00:02:17',21,1, 'G1 ', '01019012896****');
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'19:31 ', '00:11:01',10,9, 'K10', NULL);
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'19:52 ', '00:09:47',20,1, 'G11', '077202****');
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'19:49 ', '10:07:02',21,1, 'G1 ', '01019012896****');
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'19:58 ', '00:02:41',21,1, 'G1 ', '01019012896****');
INSERT INTO TELDAT VALUES (to_date('04.08.2011'),'20:01 ', '00:02:31',21,1, 'G1 ', '01019012896****');
INSERT INTO TELDAT VALUES (to_date('05.08.2011'),'09:03 ', '00:03:02',11,9, 'K10', NULL);
INSERT INTO TELDAT VALUES (to_date('05.08.2011'),'09:13 ', '00:03:31',10,1, 'G10', '071174****');
INSERT INTO TELDAT VALUES (to_date('05.08.2011'),'09:39 ', '00:06:45',13,1, 'G10', '0711707*****');
【问题讨论】:
-
你能详细说明“不适合我”吗?你有错误吗?结果错误?
-
没有错误信息,我的命令有问题... time_conv 列中的输出结果是日期 01.06.15 的每一行
-
您能分享一下您的表格定义和一些示例数据吗?
-
在主线程中添加示例代码
-
更新语句很好,只是
date不是存储时间(仅)数据的最佳类型。如果您以正确的格式查询此列,您会看到它保存了所需的数据 - sqlfiddle.com/#!4/880ff/2
标签: sql oracle date type-conversion