sql-server - 从 SQL 中的字符串中删除 SSN(社会安全号码)

标签 sql-server regex

我在 MS 2000 SQL 数据库中有一个字符串,需要使用 select 语句仅删除 SSN。我无法选择使用外部应用程序。另一个有趣的部分是 SSN 的位置并不总是相同。

[B-Day][First Name][SSN][POB]
12121970John123-45-6789Las Vages  

或者

[B-Day][First Name][Last Name][SSN][POB]
12121970JohnDoe123-45-6789Las Vages

我需要 SQL 类型的正则表达式!

有什么想法吗?

最佳答案

<pre>SELECT substring(a, 1, PatIndex('%[0-9][0-9][0-9]-%', a) - 3) + substring(a, PatIndex('%[0-9][0-9][0-9]-%', a) + 9, 100) FROM myTable </pre>

myTable 是表,“a”是列名。

编辑:当然,有一些关于社会安全号码格式的假设。 另外,我添加了一个任意数字 100 以将字符串选取到末尾。如果您的字符串超过此值,您可以增加它。

关于sql-server - 从 SQL 中的字符串中删除 SSN(社会安全号码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623154/

相关文章:

c# - 跨多个数据库的交叉引用

javascript - jQuery 电子邮件正则表达式

c# - 将混合字母数字字符串拆分为文本和数字部分的快速方法?

java - 正则表达式正则表达式Java字符串

javascript - 如何从文本区域中突出显示的文本中获取相邻字符?

sql - 如何将参数列表传递给存储过程并在 SQL Server 中执行批量插入

c# - 如何设置 SQL 连接字符串的查询超时

sql - 如何在 SQL Server 中将数据库名称作为参数传递

node.js - 尝试从 Nodejs 连接到 SQL Server Express

javascript - 如何获取最后一个/特殊字符后的数字