You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选列值含前导/尾随空格(含空值)的数据库行

筛选包含前后空格或空值的行的SQL解决方案

要找出urls表中url列存在前导空格、尾随空格(任意数量)或为空值的行,你可以用以下几种方式实现:

通用写法(适配多数数据库)

利用TRIM()函数对比原字段,结合空值判断:

SELECT * 
FROM urls 
WHERE url IS NULL 
   OR url = '' 
   OR TRIM(url) != url;
  • TRIM(url)会移除字段前后的所有空格,若处理后的值和原url不等,说明原字段存在前导或尾随空格
  • url IS NULL匹配字段为NULL的情况,url = ''匹配空字符串的情况

正则表达式写法(针对支持正则的数据库)

如果你的数据库支持正则表达式(如MySQL、PostgreSQL),可以直接匹配前后空格:

MySQL版本

SELECT * 
FROM urls 
WHERE url IS NULL 
   OR url = '' 
   OR url REGEXP '^\\s+|\\s+$';

PostgreSQL版本

SELECT * 
FROM urls 
WHERE url IS NULL 
   OR url = '' 
   OR url ~ '^\s+|\s+$';

正则表达式说明:^\s+匹配字段开头的一个或多个空格,\s+$匹配字段结尾的一个或多个空格,满足任一条件即被筛选。

你之前尝试的SQL只是将url用引号包裹后输出,没有添加筛选逻辑,替换成上面的语句即可实现需求。

内容的提问来源于stack exchange,提问作者user352290

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 10:42:38