Макстсмальное число из текстового поля
От: serb Россия  
Дата: 18.10.05 13:57
Оценка:
Добрый день
Есть таблица в ней есть текстовое поле.Необходимо выбрать данные где в этом поле находится максимальное число. ТО есть преобразовать все строки в числовой формат исключая строки где есть текст и взять максимальное число.
Такое возможно?

Спасибо
Re: Макстсмальное число из текстового поля
От: Hunta Украина http://dr-leafsey.livejournal.com
Дата: 18.10.05 14:26
Оценка:
Здравствуйте, serb, Вы писали:

S>Есть таблица в ней есть текстовое поле.Необходимо выбрать данные где в этом поле находится максимальное число. ТО есть преобразовать все строки в числовой формат исключая строки где есть текст и взять максимальное число.


На вскидку:


SELECT 
  MAX(CASE ISNUMERIC(FIELD) WHEN 1 THEN FIELD ELSE 0 END)
FROM MY_TABLE
Поступай так, чтобы максима своей воли в любое время могла стать принципом всеобщего законодательства.
Re[2]: Макстсмальное число из текстового поля
От: Hunta Украина http://dr-leafsey.livejournal.com
Дата: 18.10.05 14:28
Оценка:
Здравствуйте, Hunta, Вы писали:

H>
H>SELECT 
H>  MAX(CASE ISNUMERIC(FIELD) WHEN 1 THEN FIELD ELSE 0 END)
H>FROM MY_TABLE
H>


Хотя правильнее наверно:

SELECT 
  MAX(CASE ISNUMERIC(FIELD) WHEN 1 THEN FIELD ELSE NULL END)
FROM MY_TABLE
Поступай так, чтобы максима своей воли в любое время могла стать принципом всеобщего законодательства.
Re[3]: Макстсмальное число из текстового поля
От: Hunta Украина http://dr-leafsey.livejournal.com
Дата: 18.10.05 14:37
Оценка:
Здравствуйте, Hunta, Вы писали:

H>Хотя правильнее наверно:


H>
H>SELECT 
H>  MAX(CASE ISNUMERIC(FIELD) WHEN 1 THEN FIELD ELSE NULL END)
H>FROM MY_TABLE
H>


И снова мимо!
Вот:
select MAX(CASE ISNUMERIC(name) WHEN 1 THEN CAST(name as int) ELSE null END)
from @c

...прям театр одного актера
Поступай так, чтобы максима своей воли в любое время могла стать принципом всеобщего законодательства.
Re[4]: Макстсмальное число из текстового поля
От: kallisto Украина  
Дата: 19.10.05 10:04
Оценка:
Здравствуйте, Hunta, Вы писали:

select max(cast (title as number)) as max
from Film


для набора данных (title — varchar2)

FILMID |TITLE

3 |1
2 |33
1 |22

Результат:

MAX

33
__________________________
Жизнь — это гармония Ян и Инь
Re[5]: Макстсмальное число из текстового поля
От: Hunta Украина http://dr-leafsey.livejournal.com
Дата: 19.10.05 11:54
Оценка: +1
Здравствуйте, kallisto, Вы писали:

K>
K>select max(cast (title as number)) as max
K>from Film
K>


K>для набора данных (title — varchar2)


K>FILMID |TITLE


K>3 |1

K>2 |33
K>1 |22

K>Результат:

K>MAX
K>33

Поразительно просто!
А как же

исключая строки где есть текст

?
Добавим в таблицу строку:

4 | SomeText

и получим
Syntax error converting the nvarchar value 'SomeText' to a column of data type int.
(MS SQL)
Поступай так, чтобы максима своей воли в любое время могла стать принципом всеобщего законодательства.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.