2013-06-04 15 views
0

我有一個sql語句,這是一個約500000行非常重複的代碼。需要使用正則表達式來添加到一個字符串,同時保留所有單詞

每一行都包含類似於MYOBJECT1 AS OBJ1的內容,而下一行的內容類似於MYOBJECT2 AS OBJ2等等約50000次。

我需要將所有這些轉換爲varchars,因爲有些對象是數字,有些是varchars,我得到的錯誤是我的datatypes must be the same

我需要投功能添加到每個這些行這樣的事情

cast(MYOBJECT1 as varchar(100))OBJ1 

這是可能的,因爲這增加至每行會帶我到永遠。

回答

1

替換(\w+) AS (\w+)cast(\1 as varchar(100))\2的匹配,其中\1\2是對第一和第二捕獲組的引用。根據您使用的工具,您可能需要使用$1$2

例如:http://regex101.com/r/uL4jP4

+0

你是令人難以置信的它的工作!我無法感謝你,你救了我幾周的工作! – user2367789

相關問題