2012-06-14 73 views
0

我同時使用在SQL Server的更新語句代替收到錯誤的更新語句代替2008年 我試圖運行的說法是:錯誤,而使用在SQL Server 2008

update table US14-HSS-SQUARE_AISC14-HSS-SQUARE set Designation = replace(Designation,'HSSSQUARE','HSS') where Designation like 'HSSSQUARE%'; 

希望在'名稱'欄的每一行中將'HSSSQUARE'更改爲'HSS'。例如 'HSSSQUARE16X16X5/8'到'HSS16X16X5/8'。

sql server 2008中是否還有其他語法?

+0

你得到了什麼錯誤? – freefaller

+0

重大錯誤0x80040E14,輕微錯誤25501 >更新表US14-HSS-SQUARE_AISC14-HSS-SQUARE集合指定=替換(指定,'HSSSQUARE','HSS'),其中指定 如'HSSSQUARE%'; 分析查詢時發生錯誤。 [令牌行號= 1,令牌行偏移量= 8,令牌出錯=表] –

+0

GarethD只是打敗了我...你不需要'更新'後的'表' – freefaller

回答

2

在update語句中,您不需要table,並且如果要將非法字符放在其中,還需要將表名稱包裝在方括號中。

UPDATE [US14-HSS-SQUARE_AISC14-HSS-SQUARE] 
SET  Designation = REPLACE(Designation,'HSSSQUARE','HSS') 
WHERE Designation like 'HSSSQUARE%'