Tuesday, July 19, 2011

Max('4x','24x',... '(number)x')

В одной из задач требуется определить максимальную скорость имеющихся CD-ROM. Ошибка состоит в использовании
SELECT MAX( cd ) FROM ...
Дело в том, что скорость CD-ROM хранится в текстовом представлении (например, '12x'). При сравнении текстовых констант '4x' оказывается больше, чем '24x'. А если потребуется посчитать СРЕДНЮЮ скорость?!

Solution:
select
convert(varchar,max(convert(integer,left(cd, len(cd)- 1))))+'x'   o
from PC

No comments:

Post a Comment