【问题标题】:Merge value of two colums and insert in to another table in ms sql合并两列的值并插入到ms sql中的另一个表中
【发布时间】:2014-11-08 07:00:25
【问题描述】:

我想从表 T1 的两列 (c1,c2) 中获取值,然后将它们合并为 (c3),然后将合并后的值 (c3) 插入到新表 T2 中。它还检查第二列 (c2) 的长度,如果它少于 4 个字符,则在 (C2) 的 vlaue 之前插入零。

源表:表 - 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

【问题讨论】:

    标签: mysql database join concatenation


    【解决方案1】:

    如果你正在使用字符,那么试试这个:

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

    【讨论】:

      【解决方案2】:
      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-15
        • 1970-01-01
        • 1970-01-01
        • 2020-08-21
        • 2023-02-17
        相关资源
        最近更新 更多