# SQL-Abfrage: 4-stellige Zahlen erzwingen



## Marokaner (20. April 2009)

Hallo,

ich habe in meiner Datenbank Datensätze mit vierstelligen IDs gespeichert (0001 - 9999).
Wenn ich eine einfach SQL-Abfrage mache z.B. 

```
SELECT * FROM test
```
dann bekomme ich auch meine IDs im vierstelligen Format angezeigt.

Sobald ich aber eine komplexere Anfrage mache mit verschachtelten Blöcken
z.B. 
	
	
	



```
SELECT DISTINCT company_ID
FROM
(
SELECT DISTINCT company_ID, ...
...
UNION
SELECT DISTINCT company_ID ...
...
)AS a
ORDER BY ...
```
werden die IDs nicht vierstellig ausgegeben?
Die ID 0040 wird als 40 ausgegeben.

Was muss ich tun, damit ich die Ausgabe als vierstellige Zahl mit vorangestellten Nullen erzwingen kann?
Kann mir da jemand helfen!

Gruß Marokaner


----------



## vop (21. April 2009)

Ich habe früher gerne die Stringform genutzt

Zunächst habe ich aus der 4-stelligen Zahl ein 5-stellige gemacht
10000 + DeineZahl (sie trägt also eine führende 1)
Anschließend kannst du einen substring ab Zeichen 2 machen
und du hast eine vierstellige Zahl mit führenden Nullen.

Ist naturlich quick und dirty, hilft aber manchmal

vop


----------

