2016-09-29 50 views
1

我正在編寫一個sql查詢來查看URL列表。我在正則表達式方面的知識非常有限,而且我從來沒有在SQL中使用它。排除非字母表的SQL正則表達式

說有一個叫website表,有一個叫url

列什麼,我試圖做的是我要找到具有字act網址。

select * 
from website 
where url like '%act%' 

但我意識到我不想權利之前或單詞act後的任何字母字符。

我知道正則表達式可以給我我需要的,但我無法弄清楚如何在sql語法中使用它。

+0

是否運行了DBMS:

where url like '%act%' and url not like '%[^a-zA-Z]%' 

如果你只是剛剛前後關心的人物? SQL Server,MySQL,PostgreSQL等? – Nicarus

+0

我正在運行(Microsoft?)SQL服務器 – Mufasa

+0

哪個版本? – Nicarus

回答

1

如果你想字符串中的字母字符,則:

where url like '%[^a-zA-Z]act[^a-zA-Z]%' 
+0

我做了「rawurl like'%[a-zA-Z] act [a-zA-Z]%'」, ,但我仍然會收到具有「練習「,其中包括」行爲「一詞,但在前後都有字母。 – Mufasa

+0

將^放在兩個括號的前面。 [^ a-zA-Z] @HiJaeKim – scsimon

+0

@HiJaeKim。 。 。這是一個錯字。字符集應該有一個否定。 –