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

SQL Server如何查询列值仅包含数字0的记录

全0字符串匹配SQL实现方法

原有查询语句Select * from Sample.Column_Name where Column_Name like '[0]+'不生效的核心原因是:SQL 原生LIKE运算符不支持正则表达式中的+量词规则,+在LIKE语法中仅会被识别为普通字符做匹配,因此无法实现「匹配1个及以上0」的逻辑。

全数据库通用实现方案

这个方案适配所有主流关系型数据库,逻辑是将字段值中的所有0替换为空,判断替换后是否为空白字符串即可:

SELECT * FROM Sample.Column_Name 
WHERE REPLACE(Column_Name, '0', '') = '';

不同数据库正则匹配方案

如果你的数据库支持正则查询,也可以用对应正则函数实现,性能更优:

  • MySQL / MariaDB:
SELECT * FROM Sample.Column_Name 
WHERE Column_Name REGEXP '^0+$';
  • PostgreSQL:
SELECT * FROM Sample.Column_Name 
WHERE Column_Name ~ '^0+$';
  • SQL Server:
SELECT * FROM Sample.Column_Name 
WHERE Column_Name NOT LIKE '%[^0]%';
  • Oracle:
SELECT * FROM Sample.Column_Name 
WHERE REGEXP_LIKE(Column_Name, '^0+$');

内容的提问来源于stack exchange,提问作者Aishwarya.R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:39:04