ゼロから始まる整数を格納するためのMySQLデータ型?

mysql types
ゼロから始まる整数を格納するためのMySQLデータ型?

「0091」「001」「009751」「009665」などの形式の「isdCodes」を保存する必要があります。 データベースでは、イニシャルは基本的にゼロから始まります。 私はintをunsigned属性を持つデータ型として使用しようとしましたが、うまくいかないようです。 このタイプの値を保存するのに適したデータタイプはどれですか?

  0  0


ベストアンサー

_
* IDDプレフィックスはほとんどの場合「00」ですが、常にではないため機能しません。 ほとんどの場合、「0」で始まりますが、常にではありません。*
_

先行ゼロの数が重要なので(つまり、 0091≠` 091`)、この場合は `varchar`を探します。

本当に数値型を使用したい場合は、数値の前に「1」を追加してゼロを保持できると思いますが、それはちょっとしたハックになります。

3


  • ISDコードは*「計算」したいものではなく、整数そのものではなく数字のシーケンスであるため、varcharを使用します。 先頭の「0」と「00」は非常に良いことを示しています。

編集 `8〜10`のようなIDDプレフィックスが存在することを確認しました。 そのため、数値のようなデータ型を使用する方法はありません。 ISDコードを保存できるようにするには、varcharなどのようなものを使用する必要があります。

0


ゼロフィルを使用できます、つまり:

CREATE TABLE test (value int zerofill);

INSERT INTO test values(1), (20), (515);

-1


タイトルとURLをコピーしました