Database 编写一个postgresql查询,返回以“sa”开头、以“s”结尾的名称列表
问题是: 如果城市名称以字母“Sa”开头,以字母“s”结尾,请列出所有城市及其地区和国家名称。按城市名称排序 我不知道怎么做的部分是城市名称以字母“Sa”开头,以字母“s”结尾 这就是我所拥有的:Database 编写一个postgresql查询,返回以“sa”开头、以“s”结尾的名称列表,database,postgresql,where,Database,Postgresql,Where,问题是: 如果城市名称以字母“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
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;
这个问题听起来像是在寻找一种模式。在这种情况下,可以使用LIKE
这个问题听起来像是在寻找一种模式。在这种情况下,可以使用LIKE
欢迎来到SO,祝贺您提出第一个问题。当您收到回答您问题的答复时,您应该单击“已接受”按钮,该按钮看起来像一个复选标记,将其标记为“已接受”,这样其他人就不会继续寻找解决方案了。欢迎使用so,祝贺您提出第一个问题。当您收到回答问题的答复时,您应该单击“已接受”按钮,该按钮看起来像一个复选标记,将其标记为“已接受”,以便其他人不再寻找解决方案。根据您的首选项,您还可以说ci.name~'^Sa.*s$';这与所示的LIKE子句完全相同。严格来说,这是一个你更喜欢哪个的问题。@kgrittn我的答案是通用sql。WHERE ci.name ~'^Sa.*s$'是postgresql的专用文档吗?我必须检查标准文档才能确定,只有在必要时才查看,但我猜这样更便于携带。我认为对这样的正则表达式的支持是PostgreSQL的扩展。我之所以指出它,是因为这个问题被标记为。根据您的喜好,您还可以说WHERE ci.name ~'^Sa.*s$;这与所示的LIKE子句完全相同。严格来说,这是一个你更喜欢哪个的问题。@kgrittn我的答案是通用sql。WHERE ci.name ~'^Sa.*s$'是postgresql的专用文档吗?我必须检查标准文档才能确定,只有在必要时才查看,但我猜这样更便于携带。我认为对这样的正则表达式的支持是PostgreSQL的扩展。我之所以指出这一点,是因为这个问题带有明显的错误。
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;