Изменение формата числового значения с помощью SQL (MySQL)

#mysql #sql

#mysql #sql

Вопрос:

Я хочу что-то сделать, используя SQL, но я не знаю, можно ли это сделать или как. Я запускаю запрос с использованием sum() , и он возвращает значение типа ‘145950.00’. Но я хочу вернуть это значение как ‘145.950,00’. Есть ли способ сделать это с помощью SQL или мне нужно сделать это на стороне кода?

Комментарии:

1. Будет ли это в MSSQL, MySQL или других?

2. Я использую MySQL.

Ответ №1:

Если вы используете SQL Server 2012 и выше, вы можете использовать приведенный ниже запрос для форматирования чисел желаемым способом. Если вы хотите усечь десятичные точки, используйте ‘N0’. Здесь 2 указывает количество десятичных знаков.

 select format(145950.00, 'N2')
 

Комментарии:

1. это нестандартный SQL. Пожалуйста, укажите продукт СУБД, для которого это работает

Ответ №2:

Если вы используете MSSQL, используйте этот запрос:

 SELECT FORMAT(145950.00, '#.###,')
 

Это даст указанный результат:

 145.950,00
 

Комментарии:

1. Спасибо, это тоже сработало, но не могли бы вы рассказать немного подробнее о том, как это работает?

2. Требуемый результат выглядит как пользовательское форматирование. Вы заменили десятичный разделитель запятой (,), а разделитель тысяч — точкой. Это тот вывод, который вам нужен, верно?

3. Да, я делаю, как вы говорите. Спасибо за ваш ответ.