我的一個表有一個名爲MembersList的字段,它是以分號(;)
分隔的LASTNAME/FIRSTNAME.MIDDLENAMEorMIDDLEINITIAL
格式的名稱列表。例如:MySql,使用LIKE找到一個確切的字符串
DOE/JOHN.PETER;SMITH/ANDREW.K;FORD/HENRY.GEORGE
現在一個單獨的記錄可能包含名稱DOE/JOHN.P
,但此人可能不會像DOE/JOHN.PETER
在上面的例子中,他的P可能代表保羅或菲利普相同,但用戶我們的服務簡單地輸入了DOE/JOHN.P
。
如果我說
SELECT * FROM Events WHERE MembersList LIKE '%DOE/JOHN.P%'
我將獲得DOE/JOHN.P
備案以及爲DOE/JOHN.PETER
記錄這不是我想要的。在這種情況下的DOE/JOHN.P
應該被視爲他的中間首字母實際上是P並且只有P.我已經嘗試刪除第二個%
,但它什麼也沒有返回。我的LIKE
應該是什麼樣子?
這是否合理?
你不應該使用'='呢?如'MembersList ='DOE/JOHN.P''? – CKKiller
不,因爲它是用分號分隔的,不只是一個名字 – PaulG