2010-08-17 76 views
1

我希望能夠搜索數據庫中的字段,並查看「更改」和「更改」值是否不同(值存儲在單個字段中的字符串中) 。MYSQL - 在選擇內搜索字符串

以下是對在該領域的字符串看起來像

Instance Person(34) modified by 1. 
Field phone_number changed from "123" to "123". 
Current field values are: 
    first_name => "alex" 
    last_name => "Handley" 

在這個例子中,他們是相同的,所以不會被退還的例子。

是否可以這樣做?

亞歷

+1

該數據應該存儲在數據庫的不同字段中,以便您可以編寫更簡單的查詢。例如。 'WHERE changed_From <> changed_to' – 2010-08-17 17:38:16

回答

2

這是真的正則表達式的工作,而不是數據庫查詢。

您可以使用存儲過程進行查詢,截取結果並比較兩部分。但是,這種類型的邏輯同樣屬於應用層 - 事先存儲需要單獨比較的字符串部分,或者之後從單個數據庫列中提取有用的信息。

1

MySQL有相當不錯的regular expression支持。 (它也很快;我發現REGEXP通常比LIKE更快)。

我不認爲它有反向引用支持,所以很難在單個查詢中進行比較。你可以用聰明的連接或存儲過程來完成它。