2010-08-04 86 views
1

我在我的數據庫中有一個包含用於SQL中的LIKE表達式的列的表。我正在使用的過程使用這些表達式來排除某些SQL對象的處理。從SQL LIKE表達式中獲取類似Powershell的表達式

我現在把類似的代碼放在Powershell中,但我想保持列一致。我將要做的線沿線的東西:

where {$someVariable -like $myColumnData} 

有沒有什麼辦法來改變SQL LIKE表達式轉換成一個PowerShell樣的表達?我可能會寫我自己的,但這似乎是棘手和容易出錯的,所以如果有人已經完成了這項工作,那就太棒了。

作爲一個例子,我想是能夠做到的轉換如下所示:

%some string% --> *some string* 
[0-9]blah%  --> <I don't know what would go here>blah% 

作爲一個側面的問題,並在Powershell的樣允許任何標準的正則表達式表達或者是它僅限於?和*通配符?

謝謝!

+3

''''''僅限於'*'和'?'。如果你需要regex支持,你可以使用'-match'。 – 2010-08-04 17:02:58

回答

1

這是一樣的。在這裏看看,在PowerShell的通配符: http://msdn.microsoft.com/en-us/library/aa717088(VS.85).aspx

+0

我沒有看到鏈接頁面上允許使用%作爲通配符的任何內容。我會嘗試測試它。 – 2010-08-04 17:07:23

+0

你做了一些字符串% - > *一些字符串*,所以我認爲你已經有了一個。 [0-9] blah * – 2010-08-04 17:32:35

+0

所以它看起來像「[]」照顧。轉義字符可能仍然是個問題。 – 2010-08-04 18:14:48