2017-02-07 4 views
2

Мой вопрос довольно короткий, но у меня есть проблема с поиском ответа. Но у меня есть выбор в SQL, который имеет следующий запрос:Удаление десятичных знаков в SQL-запросе

Max(CashTrans.Costprice) 

В мой результат в SQL я получаю следующее

-1180,00 
-1377,502 
-0,40 
-460,00 
-100,00 
-100,00 
-100,00 
-100,00 
-100,00 

Что является наиболее эффективным и простым способом удаления «» и все после запятой после результата в итоге получится

-1180 
-1377 
-0 
-460 
-100 
-100 
-100 
-100 
-100 

Спасибо и хорошо провели день!

+0

Pl легко использовать функцию ROUND() в SQL, как показано ниже: ** SELECT ROUND (column_name, 0) FROM your_table **. Вы также можете исследовать другие варианты округления вверх/вниз в соответствии с вашими требованиями, используя функции ПОТОЛКА или ПОЛЫ. – Ankush

+0

@Ankush, 'round' не удаляет десятичные значки, это просто округляет их, у вас все еще будет десятичный знак. – HoneyBadger

+0

@HoneyBadger - Спасибо за ваш вклад. Извините, что я пропустил самый важный момент в вопросе. Edit - ** SELECT CAST (ROUND (имя_столбца, 0) AS int) FROM your_table ** – Ankush

ответ

0
select Max(cast(CashTrans.Costprice as int)) 
from your_table 
... 
1
SELECT CAST(columnname AS INT) AS columnname from tablename 

или

Select 
SUBSTRING(a,0,CHARINDEX(',',a)) from #Table2 
0

Если мы не уверены, типов данных и вместо того, чтобы иметь дело с ошибками преобразования

Select 
SUBSTRING(ID,0,CHARINDEX(',',ID)) from Table 

 Смежные вопросы

  • Нет связанных вопросов^_^