Articles

SqlHints.com

Posted on

FORMAT is een van de nieuwe ingebouwde String Function geïntroduceerd als onderdeel van Sql Server 2012. Het retourneert de waarde geformatteerd in het opgegeven formaat met behulp van de optionele cultuur parameter waarde. Het is niet een Sql Server native functie in plaats daarvan is het .NET CLR afhankelijke functie.

SYNTAX: FORMAT ( value, format )

Parameter Beschrijving
Waarde: Waarde die moet worden opgemaakt
format: Deze parameter specificeert het formaat waarin de vlaue zal worden opgemaakt.
culture: Deze parameter is optioneel, hij specificeert de cultuur waarin de waarde wordt opgemaakt. Als deze niet wordt opgegeven, wordt de taal van de huidige sessie gebruikt.

RETURNS: Type retourwaarde is nvarchar.

Voorbeeld 1: FORMAT DATE met Cultuur

DECLARE @date DATETIME = GETDATE() SELECT @date AS 'GETDATE()', FORMAT( @date, 'd', 'en-US') AS 'DATE IN US Culture', FORMAT( @date, 'd', 'en-IN') AS 'DATE IN INDIAN Culture', FORMAT( @date, 'd', 'de-DE') AS 'DATE IN GERMAN Culture'

Resultaat:

FORMAT_FUNCTION_IN_SQL_SERVER_2012_1

Voorbeeld 2: FORMAT CURRENCY met Cultuur

DECLARE @Price INT = 40SELECT FORMAT(@Price,'c','en-US') AS 'CURRENCY IN US Culture', FORMAT(@Price,'c','de-DE') AS 'CURRENCY IN GERMAN Culture'

Resultaat:

FORMAT_FUNCTION_IN_SQL_SERVER_2012_2

Voorbeeld 3: FORMAT CURRENCY

DECLARE @Price DECIMAL(5,3) = 40.356SELECT FORMAT( @Price, 'C') AS 'Default', FORMAT( @Price, 'C0') AS 'With 0 Decimal', FORMAT( @Price, 'C1') AS 'With 1 Decimal', FORMAT( @Price, 'C2') AS 'With 2 Decimal', FORMAT( @Price, 'C3') AS 'With 3 Decimal'

Resultaat:
FORMAT_FUNCTION_IN_SQL_SERVER_2012_3

Voorbeeld 4: FORMAT PERCENTAGE

DECLARE @Percentage float = 0.35674SELECT FORMAT( @Percentage, 'P') AS '% Default', FORMAT( @Percentage, 'P0') AS '% With 0 Decimal', FORMAT( @Percentage, 'P1') AS '% with 1 Decimal', FORMAT( @Percentage, 'P2') AS '% with 2 Decimal', FORMAT( @Percentage, 'P3') AS '% with 3 Decimal'

Resultaat:
FORMAT_FUNCTION_IN_SQL_SERVER_2012_4

Voorbeeld 5: FORMAT NUMBER

DECLARE @Number AS DECIMAL(10,2) = 454545.389SELECT FORMAT( @Number, 'N','en-US') AS 'Number Format in US', FORMAT( @Number, 'N','en-IN') AS 'Number Format in INDIA'SELECT FORMAT( @Number, '#.0') AS 'With 1 Decimal', FORMAT( @Number, '#.00') AS 'With 2 Decimal', FORMAT( @Number, '#,##.00') AS 'With Comma and 2 Decimal', FORMAT( @Number, '##.00') AS 'Without Comma and 2 Decimal'

Resultaat:
FORMAT_FUNCTION_IN_SQL_SERVER_2012_5

Voorbeeld 6: CUSTOM DATE FORMATS

DECLARE @date DATETIME = GETDATE() SELECT @date AS 'GETDATE()', FORMAT ( @date, 'dd/MM/yyyy') AS 'dd/MM/yyyy', FORMAT ( @date, 'MM/dd/yyyy') AS 'MM/dd/yyyy', FORMAT ( @date, 'yyyy/MM/dd') AS 'yyyy/MM/dd' SELECT FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','en-US') AS 'US', FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','hi-IN') AS 'Hindi', FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','kn-IN') AS 'Kannada'

Resultaat:

FORMAT_FUNCTION_IN_SQL_SERVER_2012_6

DECLARE @date DATETIME = GETDATE()SELECT FORMAT ( @date, 'dd', 'en-US' ) AS 'US',FORMAT ( @date, 'ddd', 'en-US' ) AS 'US',FORMAT ( @date, 'dddd', 'en-US' ) AS 'US',FORMAT ( @date, 'dddd', 'kn-IN' ) AS 'Kannada',FORMAT ( @date, 'dddd', 'hi-IN' ) AS 'Hindi'SELECT FORMAT ( @date, 'M', 'en-US' ) AS 'US',FORMAT ( @date, 'MM', 'en-US' ) AS 'US',FORMAT ( @date, 'MMM', 'en-US' ) AS 'US',FORMAT ( @date, 'MMMM', 'en-US' ) AS 'US',FORMAT ( @date, 'MMMM', 'kn-IN' ) AS 'Kannada',FORMAT ( @date, 'MMMM', 'hi-IN' ) AS 'Hindi'SELECT FORMAT ( @date, 'y', 'en-US' ) AS 'US', FORMAT ( @date, 'y', 'kn-IN' ) AS 'Kannada', FORMAT ( @date, 'y', 'hi-IN' ) AS 'Hindi', FORMAT ( @date, 'yy', 'en-US' ) AS 'US', FORMAT ( @date, 'yyy', 'en-US' ) AS 'US'

Resultaat:

FORMAT_FUNCTION_IN_SQL_SERVER_2012_7

Voorbeeld 7: Ongeldige cultuur

DECLARE @date DATETIME = GETDATE()SELECT FORMAT(@date,'d','Test') AS 'Invalid Culture'

Resultaat:
Msg 9818, Level 16, State 1, Line 2
De cultuurparameter ‘Test’ die in de functieaanroep is opgegeven, wordt niet ondersteund.

U kunt de onderstaande nieuwe ingebouwde functies lezen die in Sql Server 2012 zijn geïntroduceerd:

Nieuwe ingebouwde functies geïntroduceerd in Sql Server
CONVERSIEFUNCTIES
PARSE TRY_PARSE
TRY_CONVERT
STRING FUNCTIONS
CONCAT FORMAT
LOGISCHE FUNCTIES
KIES IIF
DATUM- EN TIJDFUNCTIES
EOMONTH
DATEFROMPARTS DATETIMEFROMPARTS
SMALLDATETIMEFROMPARTS DATETIME2FROMPARTS
TIMEFROMPARTS DATETIMEOFFSETFROMPARTS

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *