SQL - 使用 OR 语句从 2 列中填充值的自定义列

Posted

技术标签:

【中文标题】SQL - 使用 OR 语句从 2 列中填充值的自定义列【英文标题】:SQL - Custom Column to Fill with values from 2 columns using an OR statement 【发布时间】:2021-09-09 01:15:19 【问题描述】:

这是当前版本的低保真表

ID Custom column Value Value2
1 X
2 Y

想要像这样使用 X 或 Y 填充自定义列:

ID Custom column Value Value2
1 X X
2 Y Y

【问题讨论】:

SQL Server mysql - 请更正您的标签。 根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

您可以简单地连接值,如下例所示:

SELECT 
    Title, 
    FirstName, 
    MiddleName, 
    LastName,
    Title + ' ' + FirstName + ' ' + MiddleName + ' ' + LastName as MailingName
FROM Person.Person

示例来自:https://www.mssqltips.com/sqlservertip/2985/concatenate-sql-server-columns-into-a-string-with-concat/

如果您需要它是字符串以外的其他类型,您始终可以将其转换为正确的类型。

【讨论】:

【参考方案2】:

作为select,你可以使用coalesce()

select t.*,
       coalesce(value, value2) as custom_column
from t;

作为update

update t
    set custom_column = coalesce(value, value2);

【讨论】:

以上是关于SQL - 使用 OR 语句从 2 列中填充值的自定义列的主要内容,如果未能解决你的问题,请参考以下文章

SQL 选择以消除在下一列中具有 2 个其他值的重复值

包含逗号分隔值的列中的值

PL SQL - 使用动态 SQL 生成删除语句

SQL Select 语句获取字符串中包含一个或多个值的所有记录

从一个 SQL 语句中获取一列中的所有行

Sql 从一个表列中选择一个最小值,并在一个 SQL 语句中将结果插入到另一个表列中