Difference Between CAST and CONVERT Function (With Table)

CAST and CONVERT are functions used to convert one data type to another data type. CAST function is a part of ANSI – SQL specifications and that is why it is more apt to be used than CONVERT function. This function is generally used to reduce or remove format while still converting.

CAST vs CONVERT Function

The main difference between CAST and CONVERT is that CAST is an ANSI standard function which is portable to various database platforms; on the other hand, CONVERT is a function specific to SQL servers. There is also a significant difference in their syntax as shown above.

Also, the CONVERT function here can stimulate set date format options while the CAST function is unable to perform such type of actions. A cast function can convert the data type without any specific format.

CAST function has an advantage over the CONVERT function that can never be overlooked that is, it is a portable function which in the general sense means that it can be used by many database platforms. This function unlike the other functions is less powerful and is less flexible. The syntax of this function is very simple, as following:

CAST(expression AS type [ (length) ]): here expression refers to the value that you want to convert, type refers to the data type into which you want to the do the conversion, and length is an optional term it is the length of the resulting data type for char, varchar, binary and varbinary.

On the other hand CONVERT function is a specific function to the SQL server. This function can also be used for conversion of one data type to another. This function can be generally used for formatting purposes for date/time data type and money data type. Also, the CONVERT function here can stimulate set date format options while the CAST function is unable to perform suchtype of actions. CONVERT function is highly flexible function and it is also highly preferred function to use for date/time values. As shown earlier CAST function takes three parameters (length being the optional one) this function takes four parameters (length and style are optional). The syntax of this function is slightly different and just a hint of a bit longer than the CAST function and is the following:

CONVERT ( type [ (length) ], expression [, style] ): here expression refers to the value that you want to convert, type refers to the data type into which you want to the do the conversion, and length is an optional term it is the length of the resulting data type for char, varchar, binary and varbinary. Style is another optional and is used to convert between data types, such as date format or string format.


 

Comparison Table Between CAST and CONVERT Function

Parameter of Comparison

CAST Function

CONVERT Function

Type

ANSI standard

Specific to SQL

Flexibility

Less flexible

More flexible

Function

Convert data without specific format

Perform converting and formatting at the same time

Task

It preserves values while converting

Cannot do such task

Syntax

CAST (expression AS type [ (length) ] )

CONVERT ( type [ (length) ], expression [ , style] )

 

What is CAST Function?

CAST function is a part of ANSI – SQL specifications and that is why it is more apt to be used than CONVERT function. This function is generally used to reduce or remove format while still converting.

CAST function has an advantage over the CONVERT function that can never be overlooked that is, it is a portable function which in the general sense means that it can be used by many database platforms. This function still unlike the other functions is less powerful and is less flexible. The syntax of this function is very simple as the following:

CAST(expression AS type [ (length) ]): here expression refers to the value that you want to convert, type refers to the data type into which you want to the do the conversion, and length is an optional term it is the length of the resulting data type for char, varchar, binary and varbinary.

For example: CAST( 12.22 AS int)  Result will be 12.

 

What is CONVERT Function?

CONVERT function is a specific function to the SQL server. This function can also be used for conversion of one data type to another. This function can be generally used for formatting purposes for date/time data type and money data type. Also, the CONVERT function here can stimulate set date format options while the CAST function is unable to perform such type of actions. The syntax of this function is a slightly different and just hint of bit lengthy (only if you use optional) than the CAST function and is following:

CONVERT ( type [ (length) ], expression [, style] ): here expression refers to the value that you want to convert, type refers to the data type into which you want to the do the conversion, and length is an optional term it is the length of the resulting data type forchar, varchar, binary and varbinary. Style is another optional and is used to convert between data types, such as date format or string format.

For example:  CONVERT( 12.22 , int))  Result will be 12.


Main Differences Between CAST and CONVERT Function

  1. CAST is an ANSI standard function which is portable to various database platforms, on the other hand, CONVERT is a function specific to SQL servers.
  2. CAST is a portable function which means it can be used by various database platforms but CONVERT is specific to SQL Server.
  3. The difference in syntax can also be observed above
  4. CAST is a less flexible function than the CONVERT function
  5. CONVERT is also used for formatting and converting simultaneously but CAST cannot be used for this purpose.

 

Conclusion

CAST and CONVERT are functions used to convert one type of given data type to another data type. CAST function is a part of ANSI – SQL specifications and that is why it is more apt to be used than CONVERT function.

On the other hand, CONVERT function is a specific function to the SQL server. CAST is portable function and CONVERT is not, but CONVERT is highly flexible than CAST. They both are highly efficient in there uses.