首页 > 解决方案 > SQL:将 +1 替换为 +44

问题描述

我写了一个查询来查找电话号码。由于系统中的错误,一些电话号码的开头显示为 +1 而不是 +44。如何在保留以下数字序列的同时将 +1 替换为 +44?

我认为这将是 when 子句的情况:

SELECT 
CASE WHEN "+1%%%%%%%%%%%" THEN "+44%%%%%%%%%%" ELSE "+44%%%%%%%%%%" END AS PHONE

我将不胜感激,因为我在尝试使用它运行查询时不断收到错误。

谢谢!

标签: sql

解决方案


SQL小提琴

CREATE TABLE Mytable (Phone varchar(20))
INSERT INTO Mytable(Phone) VALUES ('+1123456789123')

查询 1

SELECT Phone,
CASE WHEN Phone LIKE '+1%' THEN replace(Phone, '+1', '+44') ELSE Phone END AS NewPhone
FROM Mytable

结果

|          Phone |        NewPhone |
|----------------|-----------------|
| +1123456789123 | +44123456789123 |

推荐阅读