在 table 中将两列或多列合并为一列

Combine two or more columns into one in a table

我有一个现有的数据库,其中 table 我需要更改。由于最近要求进行一些更改,我需要从 table 中取出两列,并将这两列中的数据放入 table 中的现有列中。还好都是Varchar类型,不用转换数据。

这是 table 现在的样子:

这就是我想要的:

我什至不确定从哪里开始。那么在不破坏 table 或丢失任何数据的情况下执行此操作的最佳方法是什么?

注意:这不是用于查询。我想更改 table 本身的结构以删除这两列,但获取它们的数据并将其转储到现有列中。

这可以通过一个简单的更新语句来完成:

Update table
Set colC = colC + char(13) + char(10) + colD +char(13) + char(10) + colE

注意char(13) + char(10)是一个换行符。

确认数据已复制后,使用 alter table 删除 colD 和 colE。

问题是你确定此举是明智的吗?

此举似乎违背了关系数据库设计的基本规则。如果这些列存储不同的数据实体,我强烈建议不要这样做。
除非这些值实际上需要合并为一个值(在逻辑级别上),否则这是错误的做法。