sql >> Database >  >> RDS >> Sqlserver

Welk datatype moet worden gebruikt voor het opslaan van telefoonnummers in SQL Server 2005?

Omvat dit:

  • Internationale nummers?
  • Extensies?
  • Andere informatie naast het werkelijke aantal (zoals "vraag naar bobby")?

Als dit allemaal nee is, zou ik een veld van 10 tekens gebruiken en alle niet-numerieke gegevens verwijderen. Als de eerste een ja is en de andere twee nee, zou ik twee varchar(50)-velden gebruiken, één voor de originele invoer en één met alle niet-numerieke gegevens gestript en gebruikt voor indexering. Als 2 of 3 ja zijn, denk ik dat ik twee velden en een soort gekke parser zou doen om te bepalen wat extensie of andere gegevens zijn en er op de juiste manier mee om te gaan. Natuurlijk zou je de 2e kolom kunnen vermijden door iets met de index te doen waarbij het de extra tekens verwijdert bij het maken van de index, maar ik zou gewoon een tweede kolom maken en waarschijnlijk de tekens verwijderen met een trigger.

Update:om het AJAX-probleem aan te pakken, is het misschien niet zo erg als je denkt. Als dit realistisch gezien de belangrijkste manier is om iets aan de tabel te doen, sla dan alleen de cijfers op in een secundaire kolom, zoals ik al zei, en maak dan de index voor die kolom de geclusterde.



  1. Basisprincipes van SQL Server ALTER TABLE-instructie

  2. Praktische processorselectie voor SQL Server 2014/2016 OLTP-workloads

  3. Hoe geef je een unieke beperking aan een combinatie van kolommen in Oracle?

  4. Gids voor het ontwerpen van een database voor quiz in MySQL