Möglicherweise:
select lpad(column, 8, 0) from table;
Bearbeitet als Antwort auf die Frage von mylesg in den Kommentaren unten:
ok, scheint die Änderung an der Abfrage vorzunehmen - aber wie kann ich dafür sorgen, dass sie dauerhaft in der Tabelle bleibt (geändert wird)? Ich habe ein UPDATE anstelle von SELECT versucht
Ich gehe davon aus, dass Sie eine Abfrage ähnlich der folgenden verwendet haben:
UPDATE table SET columnName=lpad(nums,8,0);
Wenn dies erfolgreich war, die Werte der Tabelle jedoch immer noch keine führenden Nullen enthalten, würde ich vorschlagen, dass Sie die Spalte wahrscheinlich als numerischen Typ festlegen. Wenn dies der Fall ist, müssen Sie die Tabelle so ändern, dass die Spalte vom Typ text / varchar () ist, um die führenden Nullen beizubehalten:
Zuerst:
ALTER TABLE `table` CHANGE `numberColumn` `numberColumn` CHAR(8);
Führen Sie zweitens das Update aus:
UPDATE table SET `numberColumn`=LPAD(`numberColum`, 8, '0');
Dies sollte dann die führenden Nullen bewahren; Der Nachteil ist, dass die Spalte nicht mehr ausschließlich numerisch ist. Daher müssen Sie möglicherweise eine strengere Validierung erzwingen (abhängig von Ihrem Anwendungsfall), um sicherzustellen, dass keine Ziffern in diese Spalte eingegeben werden.
Verweise: