2016-08-16 61 views
1

我有SQL Where子句中的數據視圖運行,但C#數據視圖不接受BETWEEN操作。我需要在查詢字符串轉換成任何BETWEEN操作人員並且,例如:正則表達式替換之間,SQL操作和

前:年期間2010年和2014年

後:年> = 2010年< = 2014

我嘗試這種模式

$.+ BETWEEN .+ AND .+/ 

但它沒有工作,也沒有任何更換到目前爲止

+0

嘗試'.Replace( 「之間」, 「AND」)'? –

+0

你可以發佈你的代碼嗎? – uTeisT

+0

這是一個用正則表達式替換的字符串。我在帖子中給出了例子。 –

回答

1

工作,但我認爲你會做的更好寫出符合語法要求的查詢......

var sql = "blah Year BETWEEN 2010 and 2014 blah"; 
var munged = Regex.Replace(sql, 
    @"\s([A-Za-z0-9_.]+)\s+BETWEEN\s+([0-9]+)\s+and\s+([0-9]+)\s", 
    " $1 >= $2 and $1 <= $3 ", RegexOptions.IgnoreCase); 

請注意,我這裏限制的處理,以整數;擴展它來處理字符串要複雜得多。

+0

謝謝,這是有效的。 –