在一些资料(包括部分AI的回答)里认为 like 在不使用通配符的情况下与 = 等价,例如以下文档: ![image](../../../../../ff_internal_upload/img/2021/image-20211008153226583.png) 某AI的回答: ![image](../../../../../ff_internal_upload/img/2026/image-20260604133018709.png) 经过pg13以及更高版本验证,char类型不适应上述说法。 例子: ```sql [fairyfar@bogon postgresql]$ psql postgres psql (19devel) Type "help" for help. test=# create table t1(a char(3)); CREATE TABLE test=# insert into t1(a) values ('xyz'), ('uv'); INSERT 0 2 test=# select * from t1 where a like 'uv'; a ---- (0 rows) test=# select * from t1 where a = 'uv'; a ---- uv (1 row) test=# select * from t1 where a like 'uv%'; a ---- uv (1 row) ``` 实际上,在执行器内部,即使没有通配符,like和=的实现也是不一样的。