2015-10-28 108 views
0

之前追加我試圖在一個SQL查詢來FROM追加如下:正則表達式SQL FROM

'' AS empImg 

的選擇查詢可能看起來像任何數量的事情:

SELECT top 20 * FROM PERS_DAT 
SELECT * FROM PERS_DAT 
SELECT something1, something2 AS bob, something3 FROM PERS_DAT 
SELECT top 20 something1, something2, something3 AS bob FROM PERS_DAT 
etc etc.. 

使用正則表達式,我如何在上面的查詢示例中的子句之前追加''AS執行

例如:

SELECT something1, something2 AS bob, something3, '' AS empImg FROM PERS_DAT 

任何幫助將是巨大的!

+0

爲什麼你想要的正則表達式?您可以使用VB代碼將「FROM」替換爲「'AS empImg」.. – User2012384

+0

'/ [fF] [rR] [oO] [mM]'會找到你'FROM'。當發現用'''AS empImg FROM'替換它' – cha

+1

那麼'SELECT(SELECT TOP 1 aField FROM anotherTable)作爲C1從PERS_DAT'怎麼辦?和任何其他嵌套的內部選擇或... - 我可以說不要使用正則表達式,因爲它很難從SQL查詢中找到主「FROM」;)。 –

回答

0

我想我找到了一種方法來做到這一點:

Dim thevalue As String = "SELECT top 20 something1, something2, something3 AS bob FROM PERS_DAT" 
Dim sqlQueryAdd As String = Regex.Replace(thevalue, " [fF][rR][oO][mM] ", ", '' AS empImg $0") 

似乎給我:

SELECT top 20 something1, something2, something3 AS bob, '' AS empImg FROM PERS_DAT 
+0

我會在'「FROM」後加一個空格來確保 – cha

+0

好的建議,@cha。在我的OP中完成。 – StealthRT

+0

以及如果在SQL腳本中將'FROM'寫爲'from'會怎樣? – cha