我一直負責查找零件號匹配問題,其基本信息有幾個不同的範圍和零件號的不同模式;例如0-732-012
可能存儲在數據庫中,但用戶可能使用0732012
或0.732.012
進行搜索,也可能是在某些情況下,部件號本身已添加錯誤(因此也會有0732012
作爲有效條目)。SQL Server零件號搜索nvarchar上可能的變化
也有一些字母數字部分編號混合在一起,例如0732012KG
。
我的問題是這樣的,是否有檢查數字代碼的有效方法?要麼嘗試匹配時剝離或忽略非數字值?
數據存儲在SQL Server 2008中,所以它應該具有RegEx的容量。
有很多方法。首先,數據庫中的數字是如何存儲的?阿爾法總是在零件編號的末尾?有關我如何存儲號碼的所有細節。客戶或搜索dat的人也會搜索0-732-012或0.732.012,或者可能是07-320-12或0732.0.12或任何變體? –
我會確保數據正常化並且將來以正確的格式保存。這樣,許多問題首先不會發生。 – Jan
對不起,應該說,數字存儲爲nVarchar(255)值,我已經過了一次雙重檢查,阿爾法可以出現在代碼中的不同點上(具有不同零件編號系統的不同製造商) 至於變化從搜索值,是的 - 但我要去除任何空格和特殊字符,因爲我認爲應該使事情更容易,這只是給了我一個匹配的想法.... –