【发布时间】:2021-11-10 05:45:42
【问题描述】:
我在一列中有 111-1001-0000-0000 这条记录,在第二列中有 453200-0000-000
我希望输出为 111-1001-0000-453200-0000-0000-000
这意味着第一列的 111-1001-0000 和第二列的 453200 以及第一列的 0000 和 0000-000 从第二列
我尝试了以下查询,但得到了 111-1001-453200-0000-0000-000。
第一列缺少-0000
Declare @1stcolumn nvarchar(30),@2ndcolumn nvarchar(30)
set @1stcolumn='111-1001-0000-0000'
set @2ndcolumn='453200-0000-000'
select substring(@1stcolumn,1,charindex(right(@1stcolumn,charindex('-',reverse(@1stcolumn))),@1stcolumn))
+substring(@2ndcolumn,1,charindex('-',@2ndcolumn))+reverse(substring(reverse(@1stcolumn),0,charindex('-',reverse(@1stcolumn))))
+'-'+substring(@2ndcolumn,charindex('-',@2ndcolumn)+1,len(@2ndcolumn))
【问题讨论】:
标签: sql sql-server tsql sql-server-2008