Oracle SQL Concatenate字符串基于另一列的值

时间:2018-04-06 18:56:41

标签: sql oracle

我试过查找这个问题,但也许我没有正确搜索。

我想知道在SQL中是否可以根据同一行中另一列的结果进行连接。 让我举个例子

+-------------+------------+--------+
|    STATE    |    CITY    | Region |
+-------------+------------+--------+
| Georgia     | Atlanta    | East   |
| Los Angeles | California | West   |
+-------------+------------+--------+

让我说我有这个表,我想通过做某种连接在其中创建一个新列

输出应该如下所示

+-----------+------------+-------------+--------+
|   SIDE    |   STATE    |    CITY     | Region |
+-----------+------------+-------------+--------+
| East_Side | Georgia    | Atlanta     | East   |
| West_Side | California | Los Angeles | West   |
+-----------+------------+-------------+--------+

所以Side列应该查看区域并询问它是什么区域?然后说好,所以这是"?_ Side"然后连接适当的" Region_Side" =" East_Side"

这只是一个简单的例子,我知道在这个例子中我可以使用一个case语句,但在我的实际应用程序中我不能因为它的很多" Regions"

这可能或不可以吗?

2 个答案:

答案 0 :(得分:2)

这样做你想要的吗?

select Region || '_Side', state, city, region
from t;

||是Oracle中的字符串连接运算符(以及标准SQL中的字符串连接运算符)。

答案 1 :(得分:1)

只需使用列并连接字符串

select  region ||'_Side', STATE ,  CITY , Region
from my_table