Проблема в том, что to_char()
ожидает тип данных, подобный дате, в качестве аргумента, в то время как вы передаете ему строку.
Если вы имеете дело с литеральной строкой, то вы используете синтаксис литерала даты:
to_char(
timestamp '2020-02-07 13:21:56.478000',
'DD-MON-YY HH:MI:SS.FF AM'
)
Если вы имеете дело со строковым столбцом, вы можете сначала превратить его в метку времени с помощью to_timestamp()
:
to_char(
to_timestamp(my_string_col, 'YYYY-MM-DD HH24:MI:SS.FF'),
'DD-MON-YY HH:MI:SS.FF AM'
)
Наконец, если вы имеете дело с timestamp
, тогда вы можете использовать to_char()
напрямую:
to_char(my_date_col, 'DD-MON-YY HH:MI:SS.FF AM')
Примечание: в вашем исходном модификаторе формата отсутствовала часть AM/PM
, я ее добавил.