2011-12-29 2 views
1

Pouvons-nous faire suite à une requête SQL Server 2005 avec la fonction de conversion.Fonction CONVERT dans SQL Server 2005

MaxRegID = (1).ToString("D5"); // c# code 
MaxRegID = 00001 

converti (1) nombre avec 5 chiffres dans la colonne

Répondre

1

Non - en ce moment, SQL Server ne dispose pas d'équivalent à la Format (utilisé dans .ToString()) dans .NET.

Vous pouvez y parvenir avec:

SELECT RIGHT('00000' + CAST(1 AS VARCHAR(5)), 5) 

SQL Server 2012 ("Denali") sera introduce a FORMAT T-SQL function

Vous pouvez également créer une fonction d'usage général pour cela - quelque chose comme:

CREATE FUNCTION dbo.PadInt(@input INT, @length INT) 
RETURNS VARCHAR(20) 
AS BEGIN 
    DECLARE @Result VARCHAR(20) 

    DECLARE @Padding VARCHAR(20) 
    SELECT @Padding = REPLICATE('0', @Length) 

    SELECT @Result = RIGHT(@Padding + CAST(@Input AS VARCHAR(20)), @Length) 
    RETURN @Result 
END 

et l'appeler comme ceci:

SELECT dbo.PadInt(1, 5) 

et retourner:

00001 
+1

grâce il travaille pour moi. – user460293