Как использовать «sysdate», если это строковая константа

Я извлекаю данные из таблицы, поле в основном пустое, но иногда это sysdate. Однако, поскольку это из таблицы, после получения поля его 'sysdate' между одинарными кавычками. Как я могу его использовать?

Я пробовал to_date, to_date(to_char()). Мне нужно что-то, что работает внутри

 select to_date('sysdate') from dual;
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
67
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Единственный способ, который я знаю, это динамический SQL. Вот пример:

SQL> create table test (id number, col varchar2(20));

Table created.

SQL> insert into test
  2    select 1, '''sysdate''' from dual union all
  3    select 2, null          from dual;

2 rows created.

SQL> declare
  2    l_res test%rowtype;
  3    l_str varchar2(200);
  4  begin
  5    for cur_r in (select id, col from test) loop
  6      l_str := 'select ' || cur_r.id ||', '||
  7                  nvl(replace(cur_r.col, chr(39), null), 'null') || ' from dual';
  8      execute immediate l_str into l_res;
  9      dbms_output.put_line(l_res.id ||': '|| l_res.col);
 10    end loop;
 11  end;
 12  /
1: 24.06.2019 12:18:39
2:

PL/SQL procedure successfully completed.

SQL>
Ответ принят как подходящий

Вы можете использовать выражение case:

select case 
          when the_column = 'sysdate' then sysdate
          else to_date(the_column)
       end as date_value
from the_table;

Другие вопросы по теме