
- SQL - Home
- SQL - Roadmap
- SQL - Overview
- SQL - RDBMS Concepts
- SQL - Databases
- SQL - Syntax
- SQL - Data Types
- SQL - Operators
- SQL - Expressions
- SQL - Comments
- SQL Database
- SQL - Create Database
- SQL - Drop Database
- SQL - Select Database
- SQL - Rename Database
- SQL - Show Databases
- SQL - Backup Database
- SQL Table
- SQL - Create Table
- SQL - Show Tables
- SQL - Rename Table
- SQL - Truncate Table
- SQL - Clone Tables
- SQL - Temporary Tables
- SQL - Alter Tables
- SQL - Drop Table
- SQL - Delete Table
- SQL - Constraints
- SQL Queries
- SQL - Insert Query
- SQL - Select Query
- SQL - Select Into
- SQL - Insert Into Select
- SQL - Update Query
- SQL - Delete Query
- SQL - Sorting Results
- SQL Views
- SQL - Create Views
- SQL - Update Views
- SQL - Drop Views
- SQL - Rename Views
- SQL Operators and Clauses
- SQL - Where Clause
- SQL - Top Clause
- SQL - Distinct Clause
- SQL - Order By Clause
- SQL - Group By Clause
- SQL - Having Clause
- SQL - AND & OR
- SQL - BOOLEAN (BIT) Operator
- SQL - LIKE Operator
- SQL - IN Operator
- SQL - ANY, ALL Operators
- SQL - EXISTS Operator
- SQL - CASE
- SQL - NOT Operator
- SQL - NOT EQUAL
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN Operator
- SQL - UNION Operator
- SQL - UNION vs UNION ALL
- SQL - INTERSECT Operator
- SQL - EXCEPT Operator
- SQL - Aliases
- SQL Joins
- SQL - Using Joins
- SQL - Inner Join
- SQL - Left Join
- SQL - Right Join
- SQL - Cross Join
- SQL - Full Join
- SQL - Self Join
- SQL - Delete Join
- SQL - Update Join
- SQL - Left Join vs Right Join
- SQL - Union vs Join
- SQL Keys
- SQL - Unique Key
- SQL - Primary Key
- SQL - Foreign Key
- SQL - Composite Key
- SQL - Alternate Key
- SQL Indexes
- SQL - Indexes
- SQL - Create Index
- SQL - Drop Index
- SQL - Show Indexes
- SQL - Unique Index
- SQL - Clustered Index
- SQL - Non-Clustered Index
- Advanced SQL
- SQL - Wildcards
- SQL - Injection
- SQL - Hosting
- SQL - Min & Max
- SQL - Null Functions
- SQL - Check Constraint
- SQL - Default Constraint
- SQL - Stored Procedures
- SQL - NULL Values
- SQL - Transactions
- SQL - Sub Queries
- SQL - Handling Duplicates
- SQL - Using Sequences
- SQL - Auto Increment
- SQL - Date & Time
- SQL - Cursors
- SQL - Common Table Expression
- SQL - Group By vs Order By
- SQL - IN vs EXISTS
- SQL - Database Tuning
- SQL Function Reference
- SQL - Date Functions
- SQL - String Functions
- SQL - Aggregate Functions
- SQL - Numeric Functions
- SQL - Text & Image Functions
- SQL - Statistical Functions
- SQL - Logical Functions
- SQL - Cursor Functions
- SQL - JSON Functions
- SQL - Conversion Functions
- SQL - Datatype Functions
- SQL Useful Resources
- SQL - Questions and Answers
- SQL - Cheatsheet
- SQL - Quick Guide
- SQL - Useful Functions
- SQL - Useful Resources
- SQL - Discussion
SQL - FORMAT() Function
The SQL format() function is used to retrieve the formatted value of the given text. It accepts three parameters, representing value, format, and culture where, the culture parameter is completely optional.
This function returns a value formatted with the specified format and optional culture. Using this function we can also change the format of date & time values, numerical values or any other values. But for general data type conversions, SQL has the CAST() or CONVERT() functions.Syntax
Following is the syntax of the SQL FORMAT() function −
FORMAT( value, format [, culture ] )
Parameters
value − String value we need to format.
format − The patterns in which we need to format the string.
Example
The following SELECT query converts the date to the specified format, This Query will display the specified date format −
DECLARE @DATE DATE = '04/20/2022'; SELECT FORMAT(@DATE, 'MM/dd/yyyy', 'EN-US') AS 'DATE';
Output
Following is the output of the above query −
+-------------+ | DATE | +-------------+ | 04/20/2022 | +-------------+
Example
The following SELECT query can also have the current date format, This Query will display the current date format −
SELECT FORMAT(@CUR_DATE, 'MM/dd/yyyy', 'EN-US') AS 'CURRENT_DATE';
Output
The above SQL query produces the following output −
+---------------+ | CURRENT_DATE | +---------------+ | 02/20/2022 | +---------------+
Example
The following SELECT query converts a string into a custom string format −
SELECT FORMAT(146597, ' $#,##,###.00 ') AS Custom;
Output
On executing the above query, it will produce the following output −
+--------------+ | Custom | +--------------+ | $146,597.00 | +--------------+
Example
The following SELECT query converts the time to the specified format −
SELECT FORMAT(CAST('2018-01-01 01:00' AS datetime2), N'hh:mm tt') AS 'CURRENT_TIME';
Output
On executing the above query, it will produce the following output −
+--------------+ | CURRENT_TIME | +--------------+ | 1:00 AM | +--------------+
Example
The following SELECT query converts the string to percentages −
SELECT FORMAT((10/10), 'p' ) AS [Percentage];
Output
On executing the above query, it will produce the following output −
+--------------+ | PERCENTAGE | +--------------+ | 100.00% | +--------------+
Example
The following SELECT query turns a string into a currency amount −
SELECT FORMAT(999, 'C' ) AS Currency;
Output
On executing the above query, it will produce the following output −
+--------------+ | CURRENCY | +--------------+ | $999.00 | +--------------+
Example
You can pass the table column as an argument to the FORMAT() function which changes the into a specified format. Assume we have created a table with the name Customers using the CREATE statement as follows −
create table CUSTOMERS( ID INT NOT NULL, NAME VARCHAR(15) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(25), SALARY DECIMAL(10, 4), PRIMARY KEY(ID) );
Now let's insert seven records into the customers table using the INSERT statement as follows:−
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00); insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(2, 'Khilan', 25, 'Delhi', 1500.00); insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(3, 'kaushik', 23, 'Kota', 2000.00); insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00); insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00); insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(6, 'Komal', 22, 'MP', 4500.00); insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(7, 'Muffy', 24, 'Indore', 10000.00);
The following SELECT query uses the FORMAT function with the SALARY column from the above CUSTOMERS table −
SELECT ID, FORMAT(SALARY, 'C') AS CURRENCY FROM CUSTOMERS;
Output
After executing the above statement, it produces the following output −
+----------+-----------+ | ID | CURRENCY | +----------+-----------+ | 1 | $2,000.00 | | 2 | $1,500.00 | | 3 | $2,000.00 | | 4 | $6,500.00 | | 5 | $8,500.00 | | 6 | $4,500.00 | | 7 |$10,000.00 | +----------+-----------+