postgresql替换别名列值

zbsbpyhn  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(226)

我有一张table names_table ,其中列 user_name 具有类似“bob\u marley”(用下划线分隔)的值。
在select上,我想再添加一列 user_name_display 这将从值中排除“\”。
结果有“鲍勃·马利”、“-xx”等。
我试着:

select  user_name, user_name as user_name_display, replace(user_name_display,'_',' ') from names_table;

但似乎我不能用 user_name_display repalce()函数中的别名。
问:如果一个列中没有“\”的值,那么如何获得一个新的列?

2izufjch

2izufjch1#

确实不能在“选择”列表中使用别名,但可以使用以下列的原始名称:

select  user_name, user_name as user_name_display, replace(user_name ,'_',' ') as user_name_display2 from names_table;
btxsgosb

btxsgosb2#

您甚至不需要使用该别名,只需使用列名:

select
    user_name,
    user_name as user_name_display,
    replace(user_name, '_', ' ')
from names_table;

相关问题