【发布时间】:2018-05-23 22:49:28
【问题描述】:
使用 Oracle SQL Developer 1.5.5。
我有一个数据表,我正在尝试从表 (TABLENAME) 中选择行,其中表中的列 (COLUMN5) 包含多个值。例如使用以下命令:
select * from TABLENAME where COLUMN5=''101','221','429''
我这样做是因为我想选择表格中第 5 列中的单元格值为 '101','221',229' 的所有行
另一个复杂之处在于,表中的每个值都包含在单引号内,并用逗号分隔。运行上述命令时,我收到一条错误消息,上面写着“SQL 命令未正确结束”我认为这与单引号和多个值有关,因为当我运行以下命令以选择行时,第 5 列是 ' 443',我得到一个结果:
select * from TABLENAME where COLUMN5='''443'''
请注意,“443”的这些值在表中用单引号括起来。
我的问题是什么命令可以让我在第 5 列中选择具有多个值的行?救命!
如果您需要任何说明,请告诉我
【问题讨论】:
-
只是为了确认一下,您在一个字段中存储了多个值?你能分享一些样本数据和你想要的结果吗?
-
一个带引号的字符串看起来像
'this is one quote mark '' in the middle of a string'(字符串中的两个连续单引号转换为一个单引号,而不是结束一个字符串并开始一个新的。) 你的第一个值应该是'''101'',''221'',''429''' -
请升级您的 sqldev 1.5.5 于 2009 年 7 月发布。9 年前。 Windows Vista 是最新的。
-
例如,第 5 列包含如下单元格: Column 5 '443' '443' '101','221','429' '101','221','429' '101 ','221','429' '25' '-1' 等等......我要做的就是选择那些在第 5 列中包含单元格 '101','221','429' 的行跨度>
-
谢谢,我最终想要做的是能够使用更新功能来更新上述字段。例如,使用我上面的示例,第 5 列中有许多单元格包含以下值:'101'、'221'、'429' 我想从每个单元格中删除 '101' - 我该怎么做那个?