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

Teradata正则表达式筛选异常姓氏数据报错求助

Teradata 无效Last_Name数据统计方案

Teradata的正则匹配需要使用REGEXP_SIMILAR函数,而非直接用REGEXP,这是你之前报错的核心原因。以下是针对需求的正确查询语句:

统计无效数据数量

SELECT COUNT(*) AS invalid_last_name_count
FROM HISTORY_MEMBERS
WHERE 
  -- 匹配以test开头的测试条目(不区分大小写)
  LOWER(Last_Name) LIKE 'test%'
  -- 匹配长度小于2的条目
  OR LENGTH(Last_Name) < 2
  -- 匹配包含非英文字母的条目
  OR NOT REGEXP_SIMILAR(Last_Name, '^[A-Za-z]+$', 'i');

说明

  • REGEXP_SIMILAR是Teradata官方支持的正则匹配函数,第三个参数'i'表示不区分大小写,确保大写开头的字母也能被正确匹配。
  • LOWER(Last_Name) LIKE 'test%'统一转为小写后匹配,覆盖所有大小写形式的测试条目(如Test、TEST等)。
  • NOT REGEXP_SIMILAR(...)用于筛选出不符合"全英文字母"规则的条目,也就是包含非字母字符的无效数据。

如果需要查看具体的无效数据明细,把COUNT(*)换成*即可:

SELECT *
FROM HISTORY_MEMBERS
WHERE 
  LOWER(Last_Name) LIKE 'test%'
  OR LENGTH(Last_Name) < 2
  OR NOT REGEXP_SIMILAR(Last_Name, '^[A-Za-z]+$', 'i');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:27:15