#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. Да, я делаю, как вы говорите. Спасибо за ваш ответ.