У меня есть таблица, и я хочу проверить формат datetime записей в соответствии с YYYYMMDD,HH24MISS
. Если формат даты и времени моих записей неверен, напишите сообщение об ошибке. Как я могу сделать функцию или процедуру в PL/SQL?Как я могу проверить формат моей даты?
ответ
Вы можете написать функцию, как это:
CREATE OR REPLACE FUNCTION CheckDateString(str IN VARCHAR2) RETURN DATE IS
BEGIN
RETURN TO_DATE(str,'YYYYMMDD,HH24MISS');
EXCEPTION
WHEN OTHERS THEN
RETURN NULL;
END CheckDateString;
и использовать его как этот
SELECT *
FROM my_table
WHERE CheckDateString(DATE_STRING) IS NULL
AND DATE_STRING IS NOT NULL;
Конечно следующая точка действия будет исправить неправильные значения и изменить тип данных эта колонка до DATE
, соотв. TIMESTAMP
.
Спасибо @ Wernfried Domscheit. Я использовал для изменения типа данных, как этот SELECT * FROM my_table WHERE CheckDateString (to_number (to_char (CRTTAR, 'YYYYMMDDHH24MISS'))) IS NULL И CRTTAR НЕ НЕТ; – FatihCeng
Как вы думаете, это правильный путь? – FatihCeng
Тип входных данных должен быть VARCHAR, я изменил его. –
Если вы хотите получить данные, которые имеют нужный формат, возможно, вы могли бы сделать что-то вроде этого: В противном случае я бы пошел с ответом Вернфрида Думшайта.
Cast дата, как DateTime из таблицы
select *, cast(yourDateColumn as datetime) as verifiedDate into #tempTable from yourTable
Затем проверьте данные
yourTable
против вас данных в#tempTable
select * from yourTable yt inner join #tempTable tt on yt.yourDateColum = tt.verifiedDate and yt.ID = tt.ID
В случае, если ваш столбец VARCHAR2, и вы должны проверить, что значения внутри него могут быть преобразованы в дату, используя нужный формат, это может быть решением:
declare
v_foo_date date;
begin
for r_date in (
select date_col from my_table
) loop
begin
v_foo_date := to_date(r_date.date_col, 'YYYYMMDD,HH24MİSS');
exception when others then
dbms_output.put_line('error in validating value ' || r_date.date_col);
end;
end loop;
end;
- 1. Как я могу проверить допустимый формат даты в Perl?
- 2. Как я могу проверить формат даты для этого пользовательского интерфейса?
- 3. Как проверить определенный формат даты?
- 4. Как я могу изменить формат строки даты
- 5. Как проверить формат даты с #
- 6. Как я могу проверить правильность ввода даты?
- 7. Как я могу проверить, сбой моей программы?
- 8. как я могу проверить формат входного файла
- 9. Как я могу проверить правильность ввода даты?
- 10. Как я могу изменить формат даты в выбора даты
- 11. как проверить текущий формат системной даты?
- 12. как проверить строку как правильный формат даты
- 13. Проверить формат даты в JavaScript
- 14. Как проверить формат даты в строке?
- 15. Проверить формат даты в DateTimePicker?
- 16. как проверить формат даты в угловом
- 17. как проверить формат даты в struts2
- 18. Как проверить формат даты в Excel
- 19. Как проверить формат даты на PHP?
- 20. Как проверить формат даты в заданной структуре
- 21. Как проверить формат даты в Spring MVC
- 22. Как проверить формат даты ячейки (оракул)
- 23. Как проверить формат строки даты в python?
- 24. Bash shell: Как проверить определенный формат даты?
- 25. Как я могу конвертировать арабский (хиджры) Формат даты на английский (США) Формат даты
- 26. Как я могу прикреплять даты к моей временной шкале?
- 27. Как я могу отображать формат моей даты Как день/месяц/год вместо даты и времени в ретрансляторе
- 28. Как я могу проанализировать этот формат даты в объект DateTime?
- 29. Как я могу изменить этот формат даты при вводе данных
- 30. Как я могу преобразовать этот формат даты в swift?
Если вы сохраняете значения, используя собственные форматы (например, 'date'), тогда вам не нужно беспокоиться о формате. –
с типом данных этой колонки? если дата - формат будет соответствовать параметру nls_date_format. Если вы хотите подобрать этот столбец в другом формате - просто используйте функцию to_char. – Tatiana
Вы правы, но я не хранил эти записи, и мне нужно его проверить. У вас есть идея? – FatihCeng