我在比較VARCHAR字段中的值時遇到了一些問題。比較MySQL查詢中字符串的值
我有一個產品表,每個產品都有數量。我將卷存儲在VARCHAR字段中,通常是一個數字(30,40,200),但是有多個卷的產品,其數據以分號分隔存儲,如30; 60; 80。
我知道存儲多個像這樣的卷是不推薦的,但我必須像它一樣使用它。
我試圖通過音量函數來搜索產品。我還想顯示與搜索到的音量相同或更大的音量的產品。 這對於具有單個卷的產品而言並不是問題,但這是多卷產品的問題。
也許一個例子會讓事情變得更加清晰:比方說,我在這個卷的字段中有一個產品:30; 40; 70; 80。 如果有人搜索了一個音量,讓我們說50,我希望顯示該產品。
要做到這一點,我想寫我自己的自定義MySQL函數(我從來沒有這樣做過),但也許有人可以提供一個不同的解決方案。
我爲我可憐的英語表示歉意,但我希望我明確提出了我的問題。
謝謝。
如果表格非常大,性能將會很糟糕,因爲您無法利用該字段上的任何索引。 – JohnFx 2010-03-18 19:04:27
卷是否總是按從左到右的順序存儲? – 2010-03-18 19:54:17
JohnFx,我們打算使用緩存,希望能夠提高性能。馬克·拜爾斯,我不太確定,明天我得去檢查一下。 – b2238488 2010-03-18 20:02:15