【发布时间】:2012-01-24 15:01:07
【问题描述】:
我有一个 Sybase 表,其中有一列存储 char(6) 值。我想删除此列并创建两个 char(3) 列,将原始列的前三个字符复制到第 1 列,将后 3 个字符复制到第 2 列。最好的方法是什么?
【问题讨论】:
我有一个 Sybase 表,其中有一列存储 char(6) 值。我想删除此列并创建两个 char(3) 列,将原始列的前三个字符复制到第 1 列,将后 3 个字符复制到第 2 列。最好的方法是什么?
【问题讨论】:
创建两个新列。
用类似的东西更新表
UPDATE
table
SET
new1 = LEFT(old, 3),
new2 = RIGHT(old, 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
【讨论】: