在 Oracle 11g 中,可以使用 SQL 语句中的 CASE
语句对对象类型列进行选择。具体而言,可以通过以下步骤实现:
MY_TABLE
的表,其中包含一个名为 MY_OBJECT_TYPE
的对象类型列。CASE
语句,对该列进行选择。例如,以下语句将选择 MY_OBJECT_TYPE
列中值为 TABLE
的所有行:
SELECT * FROM MY_TABLE WHERE MY_OBJECT_TYPE = CASE
WHEN MY_OBJECT_TYPE = 'TABLE' THEN 'TABLE'
WHEN MY_OBJECT_TYPE = 'VIEW' THEN 'VIEW'
WHEN MY_OBJECT_TYPE = 'PACKAGE' THEN 'PACKAGE'
WHEN MY_OBJECT_TYPE = 'FUNCTION' THEN 'FUNCTION'
ELSE MY_OBJECT_TYPE
END;
在这个例子中,CASE
语句将 MY_OBJECT_TYPE
列中的值与预定义的 MY_OBJECT_TYPE
值进行比较,然后返回相应的字符串。
MY_TABLE
和 MY_OBJECT_TYPE
替换为实际的表和列名称。通过使用 CASE
语句,可以更灵活地选择 MY_OBJECT_TYPE
列中不同的值。需要注意的是,这种方法只适用于简单的条件选择。如果需要更复杂的选择条件,可以考虑使用 SELECT
语句中的 WHERE
子句进行过滤。
领取专属 10元无门槛券
手把手带您无忧上云