#sql
#sql
Вопрос:
В столбце отображения я получаю следующие значения:
12.000000
12.350000
13.230000
14.560000
Мне нужно представить эти значения с динамическими десятичными разрядами до 2 знаков, т. Е. если есть нули, то их следует игнорировать.
например: только 12.35, если это 12.500000, то должно отображаться только 12.5
Комментарии:
1. Что вам нужно отобразить для «12.0000» — просто
12
или12.
или12.0
?2. Используйте
to_char()
для форматирования числа
Ответ №1:
float
тип удаляет конечные нули, по крайней мере, для SQL Server. Попробуйте привести свой decimal
к float
.
SELECT CAST(12.350000 as float)
ВОЗВРАТ
12,35
Комментарии:
1. спасибо Карсу и Дэвиду! это сработало .. еще одна вещь, если я хочу этот текущий формат.. что я должен добавить? пример: 1,235
Ответ №2:
Вы могли бы попробовать следующее (стандартный SQL ANSI):
SELECT TRIM(TRAILING '0' FROM TRIM(CAST(CAST(myvalue AS DECIMAL(12,2)) AS CHAR(30))))
FROM mytable;
Я не уверен, какой вариант SQL вы используете, но вышеупомянутое должно сработать (дополнительное TRIM()
на тот случай, если результат CAST()
дополнен пробелами.