用于在最多可包含4800 VARCHAR的表中搜索SSN编号的SQL语句


至此
2025-03-13 10:04:15 (25天前)


我正在搜索在表中用4800 varchar指示的SSN号码。

我试过了

SSN_MSG喜欢“%[0-9] [0-9] [0-9] - [0-9] [0-9] - [0-9] [0-9] [0-9] [0- 9]%鈥

但它没有用。我需要检查……

3 条回复
  1. 0# 滔滔江水 | 2019-08-31 10-32



    根据我的阅读,DB2版本11应该支持
    <a href =“https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061494.html"rel =”nofollow noreferrer “>

    REGEXP_LIKE






    1. WHERE REGEXP_LIKE(SSN_MSG, ‘[0-9]{3}-[0-9]{2}-[0-9]{4}’)

    2. </code>

  2. 1# 咿呀哟 | 2019-08-31 10-32



    对于早期的DB2版本

    FN:比赛

    可以使用函数,它允许相同的正则表达式。




    1. with tab (str) as (
      select 123-45-6789 from sysibm.sysdummy1
      union all
      select 123456789 from sysibm.sysdummy1
      )
      select str
      from tab
      where xmlcast(xmlquery(‘fn:matches($s, “[0-9]{3}-[0-9]{2}-[0-9]{4}”)’ passing str as s”) as int)=1;

    2. STR

      123-45-6789

    3. </code>

登录 后才能参与评论