Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将未知格式转换为字符串Oracle sql_Sql_Oracle_4d Database - Fatal编程技术网

将未知格式转换为字符串Oracle sql

将未知格式转换为字符串Oracle sql,sql,oracle,4d-database,Sql,Oracle,4d Database,我有一个查询,我正在whereCOURSE\u 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放在单引号或双引号中。有没有其他方法告

我有一个查询,我正在where
COURSE\u 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

如果需要硬编码的值,可以将其构建为单个字符的串联,由其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

如果FOD1050是字符串值,则需要将其括在单引号中。我不明白你为什么说“但在我的项目中,我不能用单引号或双引号将FOD1050括起来”——为什么你不能?是因为您需要能够将任何字符串值传递到查询中,例如通过绑定变量?如果是这样的话,
和cc.course\u number in(:course\u number)
应该可以做到这一点。它就像([courses]DCID)这个和([courses]DCID)对应的FOD1050没有引号,如果添加引号“~([courses]DCID)”,表达式没有返回任何东西,可能会出错。我不明白
~([courses]DCID)
的意思。这是一个值吗?参数?变量?专栏?它不是一个有效的标识符名称,因此如果您试图将其引用为一个标识符名称(例如变量/列/等),则需要将其括在双引号中。您的问题确实不清楚,但是-您最好更新您的问题(或者,在这一点上,提出一个新问题),并提供更多信息,例如表结构、样本输入数据和预期输出。Hi@Aleksej它将不是硬编码值,这个值可以是任何东西,那么这个值来自哪里呢?它是一个变量吗?是的,它是一个变量,来自另一个表,我不明白。如果您有一个变量,为什么需要引号?请发布代码的相关部分,以澄清您的需求。它类似于([courses]DCID)此,([courses]DCID)对应于FOD1050,不带引号,如果添加引号“~([courses]DCID)”,则表达式不会返回任何内容,可能会出错