2011-12-20 45 views
3

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

回答

3
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 
+0

辉煌 - 短而简单:) – Graeme 2011-12-21 09:23:22

1

创建您的两个新列。

更新的东西表像

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

删除旧列。