LIKE 运算符未在 oracle 中获取结果

LIKE operator is not fetching results in oracle

我想通过应用 LIKE 运算符来获得结果。但是它没有给我结果。

下面是我的查询。

Select * from TBL_ZONAL_HEAD_INFO where upper(ZONE_HEAD_NAME) LIKE '%ami%';

上面的查询没有从下面的数据中获取任何结果

过程中查询

Select * from TBL_ZONAL_HEAD_INFO where upper(ZONE_HEAD_NAME) LIKE '%' || upper(P_ZONENAME) || '%';

upper(ZONE_HEAD_NAME)都是大写的,所以永远不会是LIKE '%ami%'(都是小写的)。

使用 LOWER 而不是 UPPER:

Select * from TBL_ZONAL_HEAD_INFO where LOWER(ZONE_HEAD_NAME) LIKE '%ami%';

或在LIKE中使用大写:

Select * from TBL_ZONAL_HEAD_INFO where UPPER(ZONE_HEAD_NAME) LIKE '%AMI%';

或者将 LIKE 的两边包裹在同一个大小写转换函数中:

Select * from TBL_ZONAL_HEAD_INFO where UPPER(ZONE_HEAD_NAME) LIKE UPPER('%Ami%');

您必须将其与大写匹配。

SELECT
    *
FROM
    TBL_ZONAL_HEAD_INFO
WHERE
    UPPER(ZONE_HEAD_NAME) LIKE upper('%Ami%'); -- used upper case AMI here

干杯!!

试试这个:

Select * from TBL_ZONAL_HEAD_INFO where upper(ZONE_HEAD_NAME) LIKE upper('%ami%');

您已经为 ZONE_HEAD_NAME 使用了 upper 并使用了 '%ami%',这将永远不会 return 任何记录。
因此,要么在 upper() 函数中同时使用,要么在此处使用大写 select 查询,例如 '%AMI%'.