Patří sem:
- Mezinárodní čísla?
- Rozšíření?
- Další informace kromě skutečného čísla (např. „zeptat se Bobbyho“)?
Pokud všechny tyto nejsou, použil bych pole s 10 znaky a odstranil bych všechna nečíselná data. Pokud je první ano a další dvě jsou ne, použil bych dvě pole varchar(50), jedno pro původní vstup a jedno se všemi nečíselnými daty prokládanými a používanými pro indexování. Pokud jsou 2 nebo 3 ano, myslím, že bych udělal dvě pole a nějaký bláznivý analyzátor, abych určil, co je rozšíření nebo jiná data, a náležitě s nimi naložil. Samozřejmě byste se mohli vyhnout 2. sloupci tím, že uděláte něco s indexem, kde při vytváření indexu odstraní nadbytečné znaky, ale já bych jen vytvořil druhý sloupec a pravděpodobně provedl odstranění znaků pomocí spouštěče.
Aktualizace:Chcete-li vyřešit problém AJAX, nemusí to být tak špatné, jak si myslíte. Pokud je toto reálně hlavní způsob, jak se s tabulkou něco dělá, uložte pouze číslice do sekundárního sloupce, jak jsem řekl, a poté nastavte index pro tento sloupec na seskupený.