在 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。
问题是你确定此举是明智的吗?
此举似乎违背了关系数据库设计的基本规则。如果这些列存储不同的数据实体,我强烈建议不要这样做。
除非这些值实际上需要合并为一个值(在逻辑级别上),否则这是错误的做法。
我有一个现有的数据库,其中 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。
问题是你确定此举是明智的吗?
此举似乎违背了关系数据库设计的基本规则。如果这些列存储不同的数据实体,我强烈建议不要这样做。
除非这些值实际上需要合并为一个值(在逻辑级别上),否则这是错误的做法。