Search code examples
phpmysqlnumbersnumber-formatting

Apply comma to number field in MySQL


I have a column that contains numbers. Is it possible to make the numbers appear with a comma on Server-Side with a function? or do I need to this on the client side with a php script? I would prefer server-side.


Solution

  • Just use MySQL's FORMAT() function

    mysql> SELECT FORMAT(12332.123456, 4);
            -> '12,332.1235'
    mysql> SELECT FORMAT(12332.1,4);
            -> '12,332.1000'
    mysql> SELECT FORMAT(12332.2,0);
            -> '12,332'
    mysql> SELECT FORMAT(12332.2,2,'de_DE');
            -> '12.332,20'
    

    Or PHP's number_format()

    <?php
    
    $number = 1234.56;
    
    // english notation (default)
    $english_format_number = number_format($number);
    // 1,235
    
    // French notation
    $nombre_format_francais = number_format($number, 2, ',', ' ');
    // 1 234,56
    
    $number = 1234.5678;
    
    // english notation without thousands separator
    $english_format_number = number_format($number, 2, '.', '');
    // 1234.57
    
    ?>