The STR function in MS SQL Server is used to convert numeric values to character strings. It's syntax is given below
STR ( float_expression [ , length [ , decimal ] ] )
float_expression
Is an expression of approximate numeric (float)
data type with a decimal point.
length
Is the total length. This includes decimal point,
sign, digits, and spaces. The default is 10.
decimal
Is the number of places to the right of the decimal
point. decimal must be less than or equal to 16. If decimal
is more than 16 then the result is truncated to sixteen places to the right
of the decimal point.
The following query converts a number 12345.67890 to string value and also rounds the number to 3 decimal places
select STR(12345.67890,12,3) -------------------------- 12345.679
In MySQL the same functionality can be achieved by using CAST function.
The CAST function will convert numeric value
to character string.
If you also want to round the number to N decimal places as in MSSQL then
you have to use ROUND
function also.
mysql> select CAST(12345.67890 as CHAR); +---------------------------+ | CAST(12345.67890 as CHAR) | +---------------------------+ | 12345.67890 | +---------------------------+ 1 row in set (0.00 sec)
mysql> select cast(round(12345.67890,3) as char); +------------------------------------+ | cast(round(12345.67890,3) as char) | +------------------------------------+ | 12345.679 | +------------------------------------+ 1 row in set (0.02 sec) mysql>
Back to Converting Functions from MSSQL to MySQL