选择所有行,其中数组 = "type"



我有一个问题与PostgreSQL查询。

我有一个名为"pokemons"不同的列:

id  |    name    | pv  | attaque | defense | attaque_spe | defense_spe | vitesse |       type       
-----+------------+-----+---------+---------+-------------+-------------+---------+------------------
1 | Bulbizarre |  45 |      49 |      49 |          65 |          65 |      45 | {Plante,Poison}
2 | Herbizarre |  60 |      62 |      63 |          80 |          80 |      60 | {Plante,Poison}
3 | Florizarre |  80 |      82 |      83 |         100 |         100 |      80 | {Plante,Poison}
4 | Salameche  |  39 |      52 |      43 |          60 |          50 |      65 | {Feu}
5 | Reptincel  |  58 |      64 |      58 |          80 |          65 |      80 | {Feu}
6 | Dracaufeu  |  78 |      84 |      78 |         109 |          85 |     100 | {Feu,Vol}
7 | Carapuce   |  44 |      48 |      65 |          50 |          64 |      43 | {Eau}
8 | Carabaffe  |  59 |      63 |      80 |          65 |          80 |      58 | {Eau}
9 | Tortank    |  79 |      83 |     100 |          85 |         105 |      78 | {Eau}

在这个表中,我想选择具有特定类型的所有行。

类似的事情,我确实尝试过:

SELECT * FROM pokemons WHERE 'feu'=ANY(type);  

我尝试了很多事情与所有或类似的东西,但不能得到一个单一的一行。

你能帮我一下吗?

谢谢。

除了评论中提到的解决方案之外,您还可以像这样进行不区分大小写的比较。

SELECT * FROM pokemons WHERE 'feu' ilike ANY(type);

最新更新