【问题标题】:Split column into two columns and copy over values将列拆分为两列并复制值
【发布时间】:2012-01-24 15:01:07
【问题描述】:

我有一个 Sybase 表,其中有一列存储 char(6) 值。我想删除此列并创建两个 char(3) 列,将原始列的前三个字符复制到第 1 列,将后 3 个字符复制到第 2 列。最好的方法是什么?

【问题讨论】:

    标签: sql sybase


    【解决方案1】:

    创建两个新列。

    用类似的东西更新表

    UPDATE
      table
    SET
      new1 = LEFT(old, 3),
      new2 = RIGHT(old, 3)
    

    删除旧列。

    【讨论】:

      【解决方案2】:
      ALTER TABLE YourTable ADD FirstHalf CHAR (3)
      ALTER TABLE YourTable ADD SecondHalf CHAR (3)
      
      UPDATE YourTable
      SET
          FirstHalf = LEFT(OriginalColumn, 3),
          SecondHalf = RIGHT(OriginalColumn, 3)
      
      ALTER TABLE YourTable DROP COLUMN OriginalColumn
      

      【讨论】:

      • 精彩 - 简短而简单 :)
      猜你喜欢
      • 1970-01-01
      • 2014-09-09
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多