我有一个查询,我正在检查where 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
答案 0 :(得分:0)
如果您需要硬编码值,可以将其构建为单个字符的串联,由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