我有一个包含超过 1,000,000 个条目的数据库,其中一些在值的开头/结尾包含空格字符。
我已经尝试了以下查询并且它有效,但我将不得不检查 1,000,000 条记录,因为所有 ID 都是唯一的
select * from tablename where id like '%1234%';
select * from tablename where id='1234 ';
select * from tablename where id=' 1234';
select * from tablename where id=' 1234 ';
是否有可以运行的查询返回所有在值的开始/结束处带有空格/空字符的值?
感谢您的帮助 B
最佳答案
您可以使用表示“字符串开头的一个或多个空格或字符串结尾的多个空格之一”的正则表达式。
select * from tablename where id ~ '^\s+|\s+$';
每个特殊字符:
- ^ 匹配字符串的开头
- \s 匹配一个空白字符
- | 或运算符
- + 一次或多次
- $ 匹配字符串的结尾。
关于whitespace - psql 查询返回在指定值的开头/结尾包含空格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762704/