将两列数据与第二列的第一个字符合并为一个列,并保留空值

时间:2019-04-23 07:16:13

标签: sql sql-server-2008

我有一个如下表:

------------------
| Scode  | Ucode  |
-------------------
| qwei   | we2    |
| iu76   | oi     |
| ikhj   | null   |
| null   | ikj    |
-------------------

我想要下面的输出

----------------------------
| Scode | ucode | Finalcode |
-----------------------------
| qwei  | we2   | qweiw     |
| iu76  | oi    | iu76o     |
-----------------------------

我想获取第一列的值和第二列的第一个字符。如果第一列为空或第二列为空,则它将不会出现在表中。

目前,我仅使用以下代码获取第一列和第二列的第一个字符

Select Scode+left(Ucode,1) as finalcode into ##test from table

我想忽略nullScode的{​​{1}}值,并获取第一列,而仅获取第二列的第一个字符

2 个答案:

答案 0 :(得分:0)

您快到了,只错过了几笔null支票:

SELECT scode + LEFT(ucode, 1) AS finalcode
INTO   ##test
FROM   mytable
WHERE  scode IS NOT NULL AND ucode IS NOT NULL -- Here

答案 1 :(得分:0)

尝试一下:

declare @t table (Scode varchar(50),Ucode varchar(50))

insert into @t values ('qwei','we2')

select *,scode + substring(ucode,1,1) from @t