У нас есть ситуация, когда у нас есть таблица (скажем, Forms) в Oracle DB, в которой есть столбец (скажем, edition_date) типа date. Это было строго предназначено для хранения информации о дате в формате ГГГГ-ММ-ДД (например: 2012-11-23) без значения метки времени.
К сожалению, из-за проблемы с кодом многие строки были созданы со значениями метки времени. В этой таблице множество записей, и я хочу обновить только те строки, в которых были эти неверные данные. Я могу сделать это с помощью запроса
UPDATE forms SET edition_date = TRUNC( edition_date )
Я хочу добавить к нему предложение where, чтобы оно обновляло только неверные данные. Проблема в том, что я не уверен, как получить те строки, к которым добавлена временная метка. Ниже приведен снимок данных, которые у меня есть:
FORM_ID EDITION_DATE
5 2012-11-23
6 2012-11-23 11:00:15
..
11 2010-07-11 15:23:22
..
13 2011-12-31
Я хочу получить только строку с идентификаторами формы 6 и 11. Я пробовал использовать функции длины, но я думаю, что это хорошо только для строк. Есть какой-либо способ сделать это. Спасибо всем, кто может мне помочь.