Sql 如果此字符串出现在我的列中,则覆盖我的其他列中的信息

Sql 如果此字符串出现在我的列中,则覆盖我的其他列中的信息,sql,sql-server,Sql,Sql Server,我现在正在处理这个问题。让我们考虑我们有2个列A和B列。在A栏中,我有一个参考编号,在B列中,我有一个字符串。 在B列中,某些行将包含术语“co load”,其旁边的参考号与a列中的参考号相似,但不相同 然后,我是否可以使用SQL Server中的函数复制“共同加载”10%数据的所有事件的参考号,并将其粘贴到不再有效的列a中的参考号上 正如您在图像中看到的,仍有一些信息被复制到新列中。我怎样才能避免这种情况 select MM.MovementRef, ME.MovementReference

我现在正在处理这个问题。让我们考虑我们有2个列A和B列。在A栏中,我有一个参考编号,在B列中,我有一个字符串。 在B列中,某些行将包含术语“co load”,其旁边的参考号与a列中的参考号相似,但不相同

然后,我是否可以使用SQL Server中的函数复制“共同加载”10%数据的所有事件的参考号,并将其粘贴到不再有效的列a中的参考号上

正如您在图像中看到的,仍有一些信息被复制到新列中。我怎样才能避免这种情况

 select MM.MovementRef, ME.MovementReference, replace(MU.Number, 'co-load', '') as change, MU.Number as trailername 
 from dbo.MALExport AS MEME.MovementReference
    INNER JOIN dbo.movConLink AS MCL ON ME.ConsignmentReference = MCL.ConsignmentReference
    INNER JOIN dbo.cgtRoute AS CR ON RouteID = CMRRouteID
    INNER JOIN dbo.movMovement AS MM ON MM.MovementRef = 
    LEFT  JOIN dbo.movUnit AS MU ON MU.UnitID = MM.TrailerID 
    where MU.Number like '%co-load%'

如果我理解正确,您希望进行更新。正如您所描述的,您可以使用字符串操作,例如:

update t
    set a = replace(b, 'co-load', '')
    where b like '%co-load%';

编辑你的问题,提供样本数据和期望的结果。嗨,戈登,我已经尝试应用你的建议,但我仍然在努力。有什么想法吗?我只是想得到那个NT号码。我想我基本上是在寻找一个函数,它可以替换除…之外的所有东西。。。有什么想法吗?