gpt4 book ai didi

asp.net - sql查询修复表中的电话号码问题

转载 作者:行者123 更新时间:2023-12-02 10:09:09 26 4
gpt4 key购买 nike

我有一个包含电话号码列的表。对于如何输入电话号码没有限制。目前电话号码的格式如下

123-456-7890
(123)-456-7890
1234567890

我想更新表格并将所有电话号码采用 123-456-7890 格式。我有超过 20k 条记录。我可以使用 SQL 查询来做到这一点,还是必须在 ASP 或 PHP 中使用正则表达式?

编辑:注意最佳答案适用于修改后的问题,电话号码 (123)-456-78790 更改为 (123)456-7890

最佳答案

如果它们严格采用这 3 种格式之一,您可以通过使用 SUBSTRING 并测试每个项目的 LEN 在 SQL 中轻松完成。

如果有其他格式,我建议使用更擅长文本操作的语言来执行此操作,例如 .net。

编辑添加:

根据您的评论,目前只有这 3 种格式,您可以执行以下操作:

declare @t table (x varchar(20))
insert into @t
select '123-456-7890'
union select '(123)456-7890'
union select '1234567890'

select
case
when len(x) = 10 then
substring(x, 1, 3) + '-' + substring(x, 4, 3) + '-' + substring(x, 7, 4)
when len(x) = 13 then
substring(x, 2, 3) + '-' + substring(x, 6, 8)
else x
end
from @t

关于asp.net - sql查询修复表中的电话号码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6961048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com