gpt4 book ai didi

mysql - 重命名 PostgreSQL 或任何 SQL 中的项目

转载 作者:行者123 更新时间:2023-11-29 14:20:50 24 4
gpt4 key购买 nike

我正在使用一个名为 zoho reports 的程序,并试图更改我上传的文件中的对象名称。 ZOHO 无法重命名示例。我想使用 SQL,最好是 Postgres。

电话号码:

1. 5203123333
2. 8323125547
3. 6025456564
4. 43654xxx3

我希望它们显示为:

1. TUCSON,AZ
2. Houston,TX
3. Chandler,AZ
4. WHATEVER

我用过这个:

SELECT "TO", replace("TO",
'4802xxx82', 'Chandler'), replace("TO",
'832xxxx84', 'Houston, TX'), FROM "Craiglist-December Calls"

有效但返回一个新列。我只需要一个新专栏。

然后我尝试了一个 IF 条件,但是在我尝试超过三个重命名后出错。

if("To"='83xxxx284','Houston TX',if("To"='818xxxx6','Santa Clarita CA','0'))

尝试用名称替换大约 8 个数字,这样我就可以按名称而不是数字来绘制它们。
有没有办法用 Postgres 重命名同一列中的所有这些数字?

最佳答案

据我了解,您需要“同一列”,意思是同一列名称。所以使用 column alias .并使用 "simple" CASE statement :

SELECT CASE "TO"            -- "simple" CASE
WHEN '4802xxx82' THEN 'Chandler'
WHEN '832xxxx84' THEN 'Houston, TX'
WHEN ... -- 6 more ...
ELSE "TO"
END <b>AS "TO"</b> -- column alias (output column name)
FROM "Craiglist-December Calls";

您的列名称选择不当。切勿使用关键字作为标识符。如果你双引号标识符允许非法名称,你需要双引号现在区分大小写!)名称的其余部分。 "To" 不是"TO" 的有效引用。

manual about identifiers 开始.

关于mysql - 重命名 PostgreSQL 或任何 SQL 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748865/

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