任何人都有任何指針如何將通配符存儲在數據庫中,並查看字符串匹配的行?可以做到嗎?數據庫中的通配符
例如 DB包含這樣一個表:
所以john3136應該得到10倍他固定工資。 fred3136將獲得其正常工資的一半。 harry3136可能崩潰的應用程序,因爲沒有匹配的數據;-)
代碼需要做一些事情,如:
foreach(Employee e in all_employees) {
SELECT Multiplier FROM PayScales WHERE
//??? e.Name matches the PayScales.Name wildcard
}
謝謝!
編輯 這是一個現實世界的問題:我有一個包含通配符的參數文件。代碼當前遍歷員工,遍歷param文件尋找匹配 - 你可以看到爲什麼我想「databaserize」它;-)
通配符是可選的。該行可能會說「john3136」只匹配一名員工。 (真正的應用程序實際上並不是員工,因此即使在這個簡單的例子中它看起來像是矯枉過正也是有意義的)
打開一個選項:我在開始之前知道所有的員工姓名,所以我可以迭代並在臨時表中有效擴展通配符。 (所以如果我在起始表中有john3136 *,可能會根據員工名單擴展到john3136,john31366等)。我希望找到比這更好的方法,因爲它需要更多的維護(例如,如果我們添加功能來添加我們需要維護擴展通配符表的員工)。
聽起來很脆弱...... –
你可能不想存儲通配符,但你總是可以使用'LIKE' –
你使用的是什麼DBMS? – ErikE