[解決済み] SQL Server 2005で電話番号を格納するためにどのようなデータ型を使用する必要がありますか?
質問
私はテーブルの中に電話番号を格納する必要があります。私は使用する必要がありますどのデータ型を示唆してください? 待ってください。返信を押す前に読んでください.
営業担当者がこのフィールドを検索に使用できるため、このフィールドは大きくインデックス化される必要があります(ワイルドキャラクター検索を含む)。
今のところ、私たちは電話番号が (XML ファイルから) さまざまな形式で提供されることを期待しています。統一された形式に変換するためのパーサーを書く必要がありますか? 何百万ものデータ (重複あり) がある可能性があり、いくつかのソース データが来るたびに (前処理のような活動で) サーバー リソースを拘束したくないのですが、どうしたらよいでしょうか?
どんな提案でも大歓迎です...。
更新しました。 私はソースデータを制御することはできません。ただ、xmlファイルの構造が標準的であること。xmlのパースは最小限に抑えたいと思います。 いったんそれがデータベースにあれば、検索は素早く行われるはずです。Ajaxのオートコンプリート機能(営業担当者がすぐにマッチしたものを見ることができる)と連動させるというのも、この辺りで行われているおかしな提案の一つです。OMG!
どのように解決するのですか?
これは含まれていますか。
- 国際番号?
- 内線?
- 実際の番号以外のその他の情報("bobby"を尋ねてくださいなど)?
これらすべてが「いいえ」なら、私なら 10 文字のフィールドを使用して、数字以外のデータをすべて削除します。1 番目が「はい」で、他の 2 つが「いいえ」なら、2 つの varchar(50) フィールドを使用します。1 つは元の入力用、もう 1 つは数値以外のデータをすべて除去してインデックス付けに使用します。2つまたは3つが「はい」なら、2つのフィールドと、拡張子やその他のデータを判断して適切に処理するための何らかのおかしなパーサーを使用すると思います。もちろん、インデックスを作成するときに余分な文字を除去するようなインデックスで何かをすることで2列目を避けることもできますが、私なら2列目を作成して、おそらくトリガーで文字の除去を行うでしょう。
更新:AJAXの問題に対処するために、それはあなたが考えるほど悪くないかもしれません。これが現実的にテーブルに対して行われる主な方法である場合、私が言ったように、2番目の列に数字だけを格納し、その列のインデックスをクラスタ化されたものにします。
関連
-
[解決済み] SSIS - データ損失の可能性があるため、値を変換することはできません。
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] T-SQLでnot equalには!=と<>のどちらを使うべきですか?
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] SQL Serverにおけるchar、nchar、varchar、nvarcharの違いは何ですか?
-
[解決済み] SQL Server の "with (nolock)" とは何ですか?
-
[解決済み] SQL Serverで結果をページ分割する最も良い方法は何ですか?
-
[解決済み] SQL Serverでは、MONEYとDECIMAL(x,y)のどちらをデータ型として選択すべきでしょうか?
-
[解決済み] SQL Server 2005/2008で曜日を取得する
-
[解決済み] Microsoft SQL Server 2005でgroup_concat MySQL関数をシミュレートする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】各GROUP BY式は、外部参照でない列を少なくとも1つ含む必要があります。
-
[解決済み】MySQLエラー1264:カラムの範囲外の値
-
[解決済み] SSRS レポートの定義が無効です。
-
[解決済み] リンクサーバーとしてローカルデータベースを使用する場合、「Deferred prepare could not be completed」エラーが発生する。
-
[解決済み] テーブルの上位1レコードを更新する sql server [重複].
-
[解決済み] ミリタリータイムを使用するDatetimeフィールド - 標準時間のみが必要です。
-
[解決済み] create関数は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み] UPDATEエラーです。"REPLACEの引数1の引数データ型textは無効です"
-
[解決済み] 日付から年内の週番号を取得する
-
[解決済み] SQL Serverは、ビュークエリでLEFT JOINをLEFT OUTER JOINに置き換えます。