将两列数据与第二列的第一个char组合成一列,保留空值

问题描述 投票:1回答:2

我有一张如下表:

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

我想要输出如下

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

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

目前我只使用下面的代码将第一列和第二列第一个char

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

我想忽略nullScodeUcode值并获取第一列和第二列的第一个字符

sql sql-server-2008
2个回答
0
投票

试试这个:

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

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

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

0
投票

你几乎就在那里,你只缺少几张null支票:

SELECT scode + LEFT(ucode, 1) AS finalcode
INTO   ##test
FROM   mytable
WHERE  scode IS NOT NULL AND ucode IS NOT NULL -- Here
© www.soinside.com 2019 - 2024. All rights reserved.