2014-11-08 46 views
0

我想從表T1的兩列(c1,c2)獲取值,然後將它們合併爲(c3),然後插入合併值(c3)在一張新表T2中。它還檢查第二列(c2)的長度,如果小於4個字符,則在(C2)的vlaue之前插入零。合併兩個列的值並插入到另一個表中ms sql

源表:表 - T1


C1  | C2  

101  | 201 
    101  | 202 
    101  | 203 
    101  | 1101 
    101  | 1102 
    101  | 1103 
    102  | 221 
    102  | 222 
    103  | 2025 

所需表表 - T2


C3 

1010201 
    1010202 
    1010203 
    1011101 
    1011102 
    1011103 
    1020221 
    1020222 
    1032025 

回答

0
INSERT INTO T2 ([C1] ,[C2] ,[C3]) 
SELECT [C1] ,[C2] , 
    CONCAT([C1],'1400', 
     replicate('0', 4 - len(C2)) + cast (C2 as varchar)) as C3 
FROM T1 
WHERE [Eligible]='Yes' ORDER BY C1 ASC, C2 ASC 
1

如果您正在使用字符工作,那麼試試這個:

insert into t2 (c3) (select if(char_length(c2)=4,concat(c1,c2),concat(c1,'0',c2)) from t1) 
相關問題