Calculating While Querying

Calculating While Querying

I have two fields in my query:

SELECT minutes, cost FROM SomeTable

However, I would like to calculate the cost/minutes for each row selected. So I tried the following:

 SELECT minutes, cost, IIF(minutes>0, cost/minutes,0) as avg_cost FROM SomeTable

My problem is that the database that I’ve been retrieving from changed types; namely, the fields used to be in numeric type, but now they are in strings. How can I convert the columns in order to calculate the average?

I don’t know what RDBMS you are in, but in SQL Server there is a CONVERT function that takes the type to convert from and a destination format.

There are some conversions that are not allowed, and I think the one you mention is one of them. (How do I know what number to use for the time part of a date string?)

You may find that you have to parse the parts of the thing you want to convert into separate fields in order to observe special data type rules (like time math).


Share the Post: