1
SELECT name
FROM players
WHERE name ~ '(.*){8,}'
这真的很简单,但我似乎无法得到它。 我有一个名单列表,我必须筛选出至少8个字符的列表......但我仍然可以看到完整列表。 我在做什么错?POSTGRESQL至少8个字符与LIKE或REGEX
谢谢! :)
SELECT name
FROM players
WHERE name ~ '(.*){8,}'
这真的很简单,但我似乎无法得到它。 我有一个名单列表,我必须筛选出至少8个字符的列表......但我仍然可以看到完整列表。 我在做什么错?POSTGRESQL至少8个字符与LIKE或REGEX
谢谢! :)
A (.*){8,}
正则表示匹配任何零个或多个字符8次或更多次。
如果您想匹配任何8个或更多的字符,您可以使用.{8,}
。
但是,使用character_lenth
更适合这一任务:在字符串中的字符
char_length(string)
或character_length(string)
INT 数
CREATE TABLE table1
(s character varying)
;
INSERT INTO table1
(s)
VALUES
('abc'),
('abc45678'),
('abc45678910')
;
SELECT * from table1 WHERE character_length(s) >= 8;
你只是去寻找'那里CHAR_LENGTH(名称)<8'? –
是的,谢谢:)我让它太难了......; p – Lily
顺便说一句,正则表达式模式应该是'',{8,}'或'LIKE'模式应该是''%''。但OFC,检查长度要容易得多。 – pozs