整数を特定の形式で MySQL に保存することは可能ですか。たとえば、私が達成したいのは、主キー (自動インクリメントが適用された整数) を特定の形式、つまり、01
などで保存することです。現在、主キーは生成され、1、2、3 などの形式で保存されます。 .02
03
このフォーマットを実現するために私が現在行っていることは、これらの数値をデータベースから取得し、必要に応じてフォーマットすることです。しかし、これを達成するのに役立つ組み込み機能があるかどうか疑問に思っていました。ありますか?
整数を特定の形式で MySQL に保存することは可能ですか。たとえば、私が達成したいのは、主キー (自動インクリメントが適用された整数) を特定の形式、つまり、01
などで保存することです。現在、主キーは生成され、1、2、3 などの形式で保存されます。 .02
03
このフォーマットを実現するために私が現在行っていることは、これらの数値をデータベースから取得し、必要に応じてフォーマットすることです。しかし、これを達成するのに役立つ組み込み機能があるかどうか疑問に思っていました。ありますか?
数値は人間が判読できる形式で保存されません。それは信じられないほど非効率的です。数値は内部形式 (おそらく単純な 2 の補数の 2 進数) で格納され、クエリの結果として 10 進数 (または選択したもの) に変換されます。
この出力を変更するには、文字列書式設定関数を使用します。この場合、おそらくLPAD
、クエリ内で数値を暗黙的に文字列に変換できるという事実を利用しています。
SELECT `myField` FROM `myTable`
#
# myField
# -------
# 1
# 2
# 3
SELECT LPAD(`myField`, 2, '0') AS `myField` FROM `myTable`
#
# myField
# -------
# 01
# 02
# 03