bil*_*lal 0 ruby sql postgresql activerecord ruby-on-rails
所以基本上我的数据库中有一个ic列:ic只包含数字,但字段是一个字符串,所以人们也可以添加护照.我想写一个查询,它只显示我只有数字的ic:
SELECT applications.ic
FROM applications
WHERE applications LIKE '%[^0-9]%'
Run Code Online (Sandbox Code Playgroud)
但它起作用了!
PostgreSQL 支持 POSIX正则表达式:
SELECT applications.ic
FROM applications
WHERE applications.ic ~ '^\d+$'
Run Code Online (Sandbox Code Playgroud)
这里的正则表达式是:
^ - 匹配字符串的开头\d - 匹配一个数字+ - 应用于上一个匹配器的一个或多个修改器$ - 匹配字符串的结尾