我将ID存储在表TEMP_SDR_RECEIVED
中的ID列中,该列具有以下值:
201505264865645884
。年份,月份和日期以此ID格式存储在前8个数字中。我想从此ID中提取年,月,日期,并希望在00:00:00
列(日期数据类型)中将分钟,小时,秒设置为ID_DATE
,其他值为空。因此,将ID转换为日期格式应如下所示:26.05.15 00:00:00
我正在尝试跟踪查询,但得到一个错误,因为小时必须在1到23之间。
这是我的疑问:
Insert into TEMP_SDR_RECEIVED(ID_DATE)
Select to_date(substr(ID, 1, 14), 'YYYYMMDDHH24MISS') FROM TEMP_SDR_RECEIVED
答案 0 :(得分:4)
您只需要8个第一个字符:
Insert into TEMP_SDR_RECEIVED(ID_DATE)
Select to_date(substr(ID, 1, 8), 'YYYYMMDD') FROM TEMP_SDR_RECEIVED
请参阅SQLFiddle。
默认情况下,小时/分钟/秒将设置为0