Ger*_*vis 5 sql t-sql sql-server-2005
我需要清理存储为varchar的电话号码.存在不良数据,其中未知电话号码被存储为单个数字的序列.最终会更复杂(区号和前缀匹配),但我想简单查询明显不好的记录.
例如:
有效电话号码:3289903829
电话号码无效:1111111111
现在,如果伪造的产品ID是合适的长度(10位数),则很容易解析和清理.
SELECT phone
FROM customers
SET phone = NULL
WHERE phone IN ('0000000000','9999999999',''8888888888','7777777777','6666666666','5555555555','4444444444','3333333333','2222222222','1111111111')
Run Code Online (Sandbox Code Playgroud)
然而,有时假电话是任意长度的(可能是由于拼写错误)所以11个或9个,或n个.
如何识别包含所有相同字符/数字的字符串?
1111111 - match
4444 - match
1112 - no match
4445555 - no match
Run Code Online (Sandbox Code Playgroud)
Jef*_*ata 10
您可以获取第一个字符并复制它:
where phone = replicate(left(phone,1), len(phone))
and phone is not null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |