首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server如何在select语句中重命名列?

Server如何在select语句中重命名列?
EN

Stack Overflow用户
提问于 2022-07-21 15:14:24
回答 1查看 68关注 0票数 0
代码语言:javascript
复制
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语句?

代码语言:javascript
复制
SELECT @@Version

Microsoft Azure SQL Data Warehouse - 10.0.15669.0 Jul 14 2022 22:09:30 Copyright (c) Microsoft Corporation
EN

回答 1

Stack Overflow用户

发布于 2022-07-26 15:46:56

使用一个输入参数CONTACTPHONE创建一个函数,其中包含一个return语句:

代码语言:javascript
复制
REPLACE(TRANSLATE(UPPER(CONTACTPHONE), '()-.,/+', '       '), ' ', '')

然后,在第二个查询中直接调用类似于这个functionName( CONTACTPHONE1 )和functionName( CONTACTPHONE2 )的函数,而不是分别调用CONTACTPHONE1和CONTACTPHONE2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73068704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档