我有一個所謂的「配合」字段包含逗號分隔值是這樣的:逗號分隔的領域內搜索的範圍
120102199105199205,130101199105199205,120101199107199201
其中對於每個數前6位數字是配件代碼,最後12位數字是唯一的日期範圍。現在
,我知道,CSV是骯髒和違反1NF,但另一種方法是將數據歸爲一對夫婦更表,將在努力保持它是因爲記錄
所以潛在數量滔天簡單我試圖編寫一個查詢來選擇行的基礎上提供的配件代碼和日期範圍。到目前爲止,我有這樣的:
select data from table
where fits = any(
SELECT fits
FROM table
WHERE fits LIKE '120102')
AND fits BETWEEN "120102199105000000" AND "120102999999199205"
的問題是,在BETWEEN ... AND不與CSV數據
工作是否有應用範圍查詢與某種方式通配符到這種類型的CSV數據,還是唯一的SQL端解決方案來規範化?
很明顯,您最好的解決方案是生成一個合理的模式,將數據分隔成fit,date1,date2列,併爲每個元組添加行。說這會產生「太多的記錄」是一個愚蠢的原因,不這樣做。 –
您可以從找到的匹配記錄中生成一個派生表:CONCAT(''fits','')LIKE',120102%'但它不會是一般的 –