Преобразование неизвестного формата в строку Oracle sql

У меня есть запрос, и я проверяю строку в том, где условие COURSE_NUMBER

select * from CC cc inner join AB_COURSE_ENROLL ab on cc.DCID=ab.LOCAL_ID where cc.STUDENTID=34700 and cc.COURSE_NUMBER IN (TO_CHAR(FOD1050));

Проблема в том, что если я поместил FOD1050 в одинарные кавычки, запрос будет выполнен, но в моем проекте я не могу заключить FOD1050 в одинарные кавычки или двойные. Есть ли другой способ сообщить компилятору, что входящее значение находится в строке? Я использую Oracle

-2
источник поделиться
1 ответ

Если вам требуется жестко закодированное значение, вы можете создать его как конкатенацию af одиночных символов, идентифицированных их кодом ASCII.

Например:

SQL> select chr(70) || chr(79) || chr(68) || chr(49) || chr(48) || chr(53) || chr(48) as str
  2  from dual;

STR
-------
FOD1050

Чтобы узнать коды, которые вам нужны, DUMP может быть полезен:

SQL> select dump('FOD1050') from dual;

DUMP('FOD1050')
----------------------------------
Typ=96 Len=7: 70,79,68,49,48,53,48
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос