如何替换oracle sql中的开始和结束引号

如何替换oracle sql中的开始和结束引号,sql,oracle,Sql,Oracle,我有一个oraclesql,我想用in子句获取一些数据。但是我在语法中的开始和结束引号有错误。我不知道如何移除它。我在谷歌上搜索并尝试了替换,但没有运气。谁能帮我一下吗?以下是我的问题: 我的当前查询出现错误>>> SELECT CARE_TOPIC_ID, CARE_TOPIC_NAME, CREATED_BY, HISTORY_OF_ILLNESS, ASSESSMENT, PLAN FROM CARE_TOPIC_TEMPLATES WHERE CARE_TOPIC_ID i

我有一个oraclesql,我想用in子句获取一些数据。但是我在语法中的开始和结束引号有错误。我不知道如何移除它。我在谷歌上搜索并尝试了替换,但没有运气。谁能帮我一下吗?以下是我的问题:

我的当前查询出现错误>>>

    SELECT CARE_TOPIC_ID, CARE_TOPIC_NAME, CREATED_BY, HISTORY_OF_ILLNESS, ASSESSMENT, PLAN FROM CARE_TOPIC_TEMPLATES 
  WHERE CARE_TOPIC_ID in ('1,2,3') ; 
所需的查询应为>>

    SELECT CARE_TOPIC_ID, CARE_TOPIC_NAME, CREATED_BY, HISTORY_OF_ILLNESS, ASSESSMENT, PLAN FROM CARE_TOPIC_TEMPLATES 
  WHERE CARE_TOPIC_ID in (1,2,3) ; 

如果护理主题ID的数据类型为文本,则正确用法为:

  SELECT CARE_TOPIC_ID, CARE_TOPIC_NAME, CREATED_BY, HISTORY_OF_ILLNESS, ASSESSMENT, PLAN FROM CARE_TOPIC_TEMPLATES WHERE CARE_TOPIC_ID in ('1','2','3') ; 
或者,如果是数字,则:

  SELECT CARE_TOPIC_ID, CARE_TOPIC_NAME, CREATED_BY, HISTORY_OF_ILLNESS, ASSESSMENT, PLAN FROM CARE_TOPIC_TEMPLATES WHERE CARE_TOPIC_ID in (1,2,3) ; 

所以你传递的是一个字符串,它来自哪里你问的是如何将其拆分,使数字与中的
匹配?假设您从该字符串到数字的隐式转换中得到了ORA-01722,但最好告诉我们实际发生了什么,并提供更多的上下文。您的错误是什么?第一个查询在逻辑上似乎不正确,但我不希望出现错误,这取决于您执行查询的方式以及数字列表的来源。您不明白。它是整数。我知道应该是1,2,3。但我是从申请表“1,2,3”发送的。问题是如何从中删除起始和结束引号(')。@SumonBappi-引号是字符串文字的一部分,而不是实际值;删除它们并不意味着什么,你仍然有一个字符串,它仍然无法转换为数字或数字列表。请编辑问题以解释如何运行查询并从应用程序传递字符串。你有没有把我链接到的老问题看作是一个可能的重复问题?