SQL Query用于搜索具有特定字符的文本?

时间:2015-10-14 13:50:23

标签: postgresql postgresql-9.3

我正在使用postgresql 9.3。我要在表格中选择一列  例如,其值以特定字符开头。我有 水果表,其中我将所有水果名称存储在名为fruitname的列中。 现在我想要同时返回所有水果名称以字母A开头 如果没有水果以字母A开头,那么我需要返回所有带有A字母的水果。

这里的主要条件是我只想在没有水果的情况下搜索包含字母A 首字母A

我试过

  SELECT fruitname FROM fruits WHERE fruitname LIKE 'A%' 
  union all
  SELECT fruitname FROM fruits,(SELECT count(*) as cnt FROM fruits
  WHERE fruitname LIKE 'A%') t  WHERE fruitname LIKE '%A%' and t.cnt= 0

它返回正确的答案,但我需要没有子查询。有可能??

1 个答案:

答案 0 :(得分:0)

如何扩展第二个WHERE子句?

SELECT fruitname FROM fruits WHERE fruitname LIKE 'A%' union all SELECT fruitname FROM fruits WHERE fruitname LIKE '%A%' AND NOT fruitname LIKE 'A%'