sql >> Databasteknik >  >> RDS >> Sqlserver

Vilken datatyp ska användas för att lagra telefonnummer i SQL Server 2005?

Inkluderar detta:

  • Internationella nummer?
  • Tillägg?
  • Andra information förutom det faktiska numret (som "fråga efter bobby")?

Om alla dessa är nej, skulle jag använda ett fält på 10 tecken och ta bort all icke-numerisk data. Om det första är ett ja och de andra två är nej, skulle jag använda två varchar(50)-fält, ett för den ursprungliga inmatningen och ett med alla icke-numeriska data randiga och används för indexering. Om 2 eller 3 är ja, tror jag att jag skulle göra två fält och någon sorts galen parser för att avgöra vad som är förlängning eller annan data och hantera det på lämpligt sätt. Naturligtvis kan du undvika den andra kolumnen genom att göra något med indexet där det tar bort de extra tecknen när du skapar indexet, men jag skulle bara skapa en andra kolumn och förmodligen göra borttagningen av tecken med en trigger.

Uppdatering:för att lösa AJAX-problemet kanske det inte är så illa som du tror. Om detta realistiskt sett är det huvudsakliga sättet att göra någonting i tabellen, lagra bara siffrorna i en sekundär kolumn som jag sa, och gör sedan indexet för den kolumnen till det klustrade.



  1. Automatisk radering av processer som har fastnat i MS SQL Server

  2. Hur man skapar Not Null-begränsning på kolumn i SQL Server-tabell - SQL Server / T-SQL självstudie del 51

  3. Hur man hittar kolumnnamn för alla tabeller i alla databaser i SQL Server

  4. Hur man använder LIKE i SQL