SELECT
CONTACTPHONE1 AS CONTACTPHONE1Orin,
CONTACTPHONE2 AS CONTACTPHONE2Orin,
REPLACE(TRANSLATE(UPPER(CONTACTPHONE1), '()-.,/+', ' '), ' ', '') AS CONTACTPHONE1,
REPLACE(TRANSLATE(UPPER(CONTACTPHONE2), '()-.,/+', ' '), ' ', '') AS CONTACTPHONE2
INTO
[dbo].[gz_temp]
FROM
Auct_ABSENTEEBID
SELECT
CONTACTPHONE1Orin,
CONTACTPHONE2Orin,
CASE
WHEN ISNUMERIC(RIGHT(CONTACTPHONE1, 1)) = 0
THEN SUBSTRING([CONTACTPHONE1], 1 , LEN([CONTACTPHONE1]) - PATINDEX('%[0-9]%', REVERSE([CONTACTPHONE1])))
ELSE CONTACTPHONE1
END AS CONTACTPHONE1,
CASE
WHEN ISNUMERIC(RIGHT(CONTACTPHONE2, 1)) = 0
THEN SUBSTRING([CONTACTPHONE2], 1 , LEN([CONTACTPHONE2]) - PATINDEX('%[0-9]%', REVERSE([CONTACTPHONE2])))
ELSE CONTACTPHONE2
END AS CONTACTPHONE2
INTO
[dbo].[Auct_ABSENTEEBID_Phone_Cleaning]
FROM
[dbo].[gz_temp]问题标题可能不清楚。我要做的是将这两个select语句合并在一起。问题是当我在第二个select语句中用CONTACTPHONE1替换REPLACE(TRANSLATE(UPPER(CONTACTPHONE1), '()-.,/+', ' '), ' ', '')时,它变得非常乏味。是否可以将其化名,以使我不必使用两个select语句?
SELECT @@Version
Microsoft Azure SQL Data Warehouse - 10.0.15669.0 Jul 14 2022 22:09:30 Copyright (c) Microsoft Corporation发布于 2022-07-26 15:46:56
使用一个输入参数CONTACTPHONE创建一个函数,其中包含一个return语句:
REPLACE(TRANSLATE(UPPER(CONTACTPHONE), '()-.,/+', ' '), ' ', '')然后,在第二个查询中直接调用类似于这个functionName( CONTACTPHONE1 )和functionName( CONTACTPHONE2 )的函数,而不是分别调用CONTACTPHONE1和CONTACTPHONE2。
https://stackoverflow.com/questions/73068704
复制相似问题