0で始まる電話番号を保存する必要がありますが、これをMySqlテーブルに保存しようとすると、実際にはゼロで始まる番号がないため、最初のゼロが削除されます。
この問題を解決するにはどうすればよいですか?フィールドタイプを整数から別のタイプに変更する必要がありますか?
0で始まる電話番号を保存する必要がありますが、これをMySqlテーブルに保存しようとすると、実際にはゼロで始まる番号がないため、最初のゼロが削除されます。
この問題を解決するにはどうすればよいですか?フィールドタイプを整数から別のタイプに変更する必要がありますか?
データ型をunsigned-zerofillに変更します。使用しているものは何でも、float、int、decimal(6,2)...フィールドをunsigned-zerofillにのみ編集します。
電話番号は、序数ではないという意味で実際には番号ではありません。彼らはただのキャラクターです-彼らは彼らが数字であるという事実は偶然です。
それらをvarcharに保存し、:Dに移動します
電話番号には、読みやすくするために他の記号を含めることもできます...電話番号の正規表現はのようになり[0-9+-()*#]+
ます。したがって、電話番号にテキストフィールドを使用し、さらにいくつかの検証を行う必要があります。
これを解決するために、varcharとしてデータ型を使用できます。
電話番号は整数ではなく、整数として保存しようとすると問題が発生するだけで、代わりに文字列として保存します。
はい-数値フィールドには数値のみが格納され、それらのフォーマット(先行ゼロの付いたパディン)は格納されません。あなたはどちらか
フィールドタイプを整数からvarcharまたはcharに変更します(桁数が常に同じ場合)。
数値を整数として保存しますが、必要に応じてプレゼンテーション層に0を付加します。
関数を使用して、必要な数をリードゼロでラップすることもできます。「文字列」が2桁未満の場合にリードゼロを追加するためにこの関数を作成しました(時間と分にリードゼロを追加するために使用されました)
function leadZero($num) {
if (strlen($num) < 2) {
return "0" . $num;
} else {
return $num;
}
}
たとえば、02として出力する数値2の場合は、leadZero(2)を実行します。
これは、数値が2桁未満の場合にのみ、ゼロを追加します。たとえば、leadZero(14); 14を返します