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.
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 #tmpDROP TABLE #tmp
Keywords: MS SQL, NUMBER
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 #tmpDROP TABLE #tmp