Táto stránka pre svoju správnu funkčnosť vyžaduje súbory cookies. Slúžia na authentifikáciu návštevníka, analýzu návštevnosti a reklamnú personalizáciu.
logo Knowledge base KB
mobile

Formátovanie čísel s úvodnými nulami v MS SQL

Formátovanie čísla s vopred definovaným počtom číslic s úvodnými nulami je možné urobiť nasledovne:

1. Hodnotu si CASTujeme na reťazec (napríklad na NVARCHAR)
2. K takto upravenej hodnote zľava priradíme reťazec obsahujúci požadovaný počet núl (resp. požadovaný počet - 1)
3. Túto hodnotu použijeme ako vstupný parameter funkcie RIGHT, ktorou orežeme hodnotu na požadovaný počet znakov.
4. Celú túto funkčnosť ešte ošetríme pre prípad, ak by počet číslic vstupného čísla bol väčší ako požadovaná dĺžka naformátovaného čísla tak, že takéto číslo zobrazíme bez úprav.

Zdrojový kód:
SELECT 1 AS Number INTO #tmp
UNION ALL
SELECT 20 AS Number
UNION ALL
SELECT 9 AS Number
UNION ALL
SELECT 1024 AS Number
UNION ALL
SELECT 65 AS Number


SELECT
CASE WHEN LEN(CAST(Number AS NVARCHAR(10))) < 3
     THEN RIGHT('00' + CAST(Number AS NVARCHAR(10)),3)
ELSE
     CAST(Number AS NVARCHAR(10))
END AS FormatedNumber
FROM #tmp

DROP TABLE #tmp

Keywords: MS SQL, NUMBER

Codeblog