2016-07-31 5 views
0

Я работаю над набором данных, и у меня возникают трудности с вычислением среднего значения столбца с долларовыми валютами. Все значения, например, перечислены в формате $ 12.00, $ 5.43, $ 1,234.00 .....Принимая средние деньги в SQL/SQLPro

Когда я использую приведенный ниже код, он возвращает значение 0 в качестве avg. В том же ключе он делает то же самое для команды SUM.

SELECT AVG(bill_amount) FROM Trips WHERE trip_date >= '08/13/13'; 

Что-то не в порядке с кодом, который я использую, потому что я думаю, что это правильно.

+0

_is_ есть что-нибудь в столбце суммы счета за эту дату? – ZLK

+0

Да. На самом деле, я должен был написать> = вместо just =. Он должен состоять из нескольких дней. –

+0

Какая база данных вы используете? – Squirrel

ответ

0

Как представляется, вы сохраняете значения в столбце bill_amount как текст, а не как число. Вы можете преобразовать их в число, а затем использовать среднее значение. Что-то вроде этого:

select avg(cast(case when substr(bill_amount, 1, 1) between '0' and '9' then bill_amount 
        else substr(bill_amount, 2) 
       end) as decimal(18, 4)) 
Смежные вопросы