例如'a%'
表示所有以a开头的记录,无论长度如何。
如果我只想要包含以a
开头的两个字母的aa,ab,ac,ad,.....记录。我该如何写这个条件?
postgresql指南没有说明如何做到这一点 http://www.postgresql.org/docs/9.1/static/functions-string.html
答案 0 :(得分:4)
使用下划线字符匹配任何单个字符:
SELECT * FROM your_table WHERE column LIKE 'a_'
使用%
通配符运算符的替代方法是:
SELECT * FROM your_table WHERE column LIKE 'a%' AND CHAR_LENGTH(column) = 2
答案 1 :(得分:1)
使用Regex
select *
from table_name
where col_name ~'^a[A-Za-z]{1}$'
^a[A-Za-z]{1}$
- 将使用以a
和长度为2
LIKE的PostgreSQL文档: - http://www.postgresql.org/docs/9.4/static/functions-matching.html#FUNCTIONS-LIKE