devxlogo

Calculating While Querying

Calculating While Querying

Question:
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?

Answer:
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).

See also  Does It Make Sense to Splurge on a Laptop?
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist