如何从sql中的两个现有列创建一个新列

时间:2019-03-25 11:10:42

标签: sql

我的表中有两个特定的列,我想在sql中从这两个列中创建一个新列,如下图所示:

enter image description here

3 个答案:

答案 0 :(得分:0)

使用concat()函数

select dimension1,dimension2,concat(dimension1,'-',dimension2) as newdimension
from tablename

答案 1 :(得分:0)

您需要为该表创建一个新视图,例如:

CREATE VIEW name_view AS 
SELECT dimension1, dimension2, CONCAT(dimension1, '-', dimension2) as new_dimension
FROM name_table

因为您无法创建新的动态库。

其他解决方案是创建一个触发器,该触发器在更新或创建新数据时从new_dimension更新数据。 MySQL文档: https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html

答案 2 :(得分:0)

在MySQL和SQL Server(2017 +)中,还可以使用CONCAT_WS函数。

SELECT CONCAT_WS(' - ',dimension1,dimension2) as 'new dimension'
FROM table_name

CONCAT_WS使用在第一个函数参数中指定的定界符来连接和分隔那些串联的字符串值。