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

SQL筛选字段首字符为A-Z的值,排除数字首字符的实现方法

解决方案

方法1:字符范围匹配(通用多数SQL数据库)

直接通过字符范围匹配首字母为A-Z(含大小写)的记录,自动排除首字符为数字的情况:

SELECT *
FROM your_table
WHERE UPPER(LEFT(AD_ADDR, 1)) BETWEEN 'A' AND 'Z';

如果数据库默认区分大小写,也可以同时匹配大小写字母:

SELECT *
FROM your_table
WHERE LEFT(AD_ADDR, 1) BETWEEN 'A' AND 'Z'
   OR LEFT(AD_ADDR, 1) BETWEEN 'a' AND 'z';

方法2:正则表达式匹配(按数据库类型选择)

不同数据库的正则语法略有差异,以下是主流数据库的实现方式:

  • MySQL/MariaDB:使用REGEXP
SELECT *
FROM your_table
WHERE AD_ADDR REGEXP '^[A-Za-z]';
  • PostgreSQL:使用~操作符
SELECT *
FROM your_table
WHERE AD_ADDR ~ '^[A-Za-z]';
  • SQL Server:使用PATINDEX
SELECT *
FROM your_table
WHERE PATINDEX('[A-Za-z]%', AD_ADDR) = 1;
  • Oracle:使用REGEXP_LIKE
SELECT *
FROM your_table
WHERE REGEXP_LIKE(AD_ADDR, '^[A-Za-z]');

你之前的语句UPPER(LEFT(AD_ADDR,1)) like 'A%'仅能匹配首字母为A的记录,而上述两种方法可以一次性匹配所有A-Z的字母,同时因为数字不在A-Z的字符范围内,会被自动排除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:14:58