2013-02-10 36 views
1

的問題是:寫PostgreSQL的查詢返回名字的列表,「山」開頭和結尾的'

列出所有的城市和他們的地區和國家名,如果城市的名字開頭字母'Sa'並以's'結尾。按城市名稱排序。

我不知道該怎麼做的部分是「城市名稱以字母'Sa'開始,以's'結尾。」

這是我有:

SELECT ci.name AS city, ci. district, c.name AS country 
FROM lab2.city ci INNER JOIN lab2.country c      
ON (ci.country_code = c.country_code) 
WHERE ci.name ~^ 'Sa' <----------------------This is the problem line. 
ORDER BY ci.name ASC; 
+1

歡迎來到SO並祝賀你的第一個問題。當你得到回答你的問題的答案時,你應該點擊「Accepted」按鈕(看起來像一個複選標記)來標記它,以便其他人不會繼續尋找解決方案。 – kgrittn 2013-02-10 16:11:27

回答

1

這個問題聽起來像它正在搜索的模式。在這種情況下,您可以使用LIKE

SELECT ci.name AS city, 
     ci.district, 
     c.name AS country 
FROM  lab2.city ci 
     INNER JOIN lab2.country c 
      ON ci.country_code = c.country_code 
WHERE ci.name LIKE 'Sa%s' 
ORDER BY ci.name ASC; 
+0

謝謝!這工作 – Paigentry 2013-02-10 05:19:21

+0

不客氣':D' – 2013-02-10 05:32:15

+0

根據您的喜好,你也可以說'WHERE ci.name〜'^ Sa. * s $'';這與所示的LIKE條款完全相同。這絕對是你喜歡的事情。 – kgrittn 2013-02-10 16:14:45

相關問題