2010-01-14 123 views
0

在我的數據庫中,我在此字段中有一個名爲'description'的列在描述的開頭有一個年齡例如:「Age 4+這是表中的這一行「。在SQL文件中將值從一個字段移到另一個字段

我創建了一個名爲'年齡'的專欄,我一直在想方設法將年齡從一行中的描述移動到相應的年齡列。

我如何去從:

| id | description | age | 
------------------------------------------------ 
| 1 | Age 4+ This... |  | 
| 2 | Age 7+ Once... |  | 

要:

| id | description | age | 
------------------------------------------------ 
| 1 | This...  | 4+ | 
| 2 | Once...  | 7+ | 

另外:並不是每一個行有描述的年齡,但有一個時代的任何行的格式爲: '年齡x +'。

編輯:對不起,我忘了補充一點,數據庫是MySQL的5.0.51a

+0

的數據庫,什麼版本? – 2010-01-14 19:22:30

回答

0

使用SQL Server,你可以嘗試像

DECLARE @Table TABLE(
     ID INT, 
     [description] VARCHAR(100), 
     Age VARCHAR(10) 
) 

INSERT INTO @Table (ID, [description]) SELECT 1, 'Age 4+ This...' 
INSERT INTO @Table (ID, [description]) SELECT 2, 'Age 7+ Once...' 
INSERT INTO @Table (ID, [description]) SELECT 3, 'Foo...' 

UPDATE @Table 
SET [description] = REPLACE([description],LEFT([description],CHARINDEX(' ', [description], CHARINDEX(' ',[description])+1)), ''), 
    Age = REPLACE(LEFT([description],CHARINDEX(' ', [description], CHARINDEX(' ',[description])+1)), 'Age ', '') 
WHERE LEFT([description], 4) = 'Age ' 

SELECT * 
FROm @Table 
相關問題