0

我有一列称为Dept数字,而另一列称为managervarchar。该manager列有一个 varchar 格式的数字列表 (1,2,3,4),但也有存储符号 '%'。我的问题是在我比较的查询deptmanager

Where dept = [value in manager]

如果我要与一个 varchar 但包含数字字符的值进行比较,则查询有效,但是当我将其dept与变量进行比较并且它包含“%”时,它就不再起作用了。managerdeptmanager

所以为了更清楚,我将展示一些例子

Where dept = '1' -OK
Where dept = '2' -OK
Where dept = '%' -NOT OK

我试过to_char(dept)='%'没有运气。我不确定还能做什么?

4

2 回答 2

1

您正在尝试查找deptWhere dept = '%'等于一个字符的行:'%'。您应该使用模式匹配条件,它看起来像这样Where dept like '%'

于 2013-08-26T19:59:52.233 回答
0

作为%一个通配符,你必须引用它:这里列出了 oracle 识别的所有特殊字符以及如何用大括号引用它们{}

于 2013-08-26T19:45:58.720 回答